오늘은 Couchbase Server를 사용해보려고 합니다. 저는 Ubuntu 장비가 있으므로 우분투에 설치하고 사용하는 방법을 알아보겠습니다.
Table Of Contents
카우치베이스(Couchbase) 서버에 대해서
카우치베이스(Couchbase) 서버는 상호작용 애플리케이션에 최적화된 오픈 소스 분산 NoSQL 문서 지향 데이터베이스입니다. 다음은 카우치베이스 서버의 주요 특징입니다:
빠른 성능
Memcached 기반의 Level 2 캐시를 내장하여 빠른 데이터 액세스를 지원합니다.
MongoDB 대비 약 6배 이상의 성능을 제공합니다.
다양한 클라이언트 플랫폼 지원
자바, .NET, PHP, 루비, C, 파이썬, Node.js 등 다양한 클라이언트 라이브러리를 제공합니다.
데이터 센터 간 복제 가능
XACR (Cross Data Center Replication)을 통해 물리적으로 떨어진 데이터 센터 간 데이터 복제가 가능합니다.
스키마가 없는 유연한 저장 구조
JSON 도큐먼트에 다양한 데이터 구조를 저장할 수 있으며, 필드별로 Indexing, grouping, ordering이 가능합니다.
확장이 쉬움
노드 확장이 용이하고, 장애 처리와 노드 추가가 간편합니다.
Built-in 관리 도구 제공
웹 기반의 GUI 관리 도구를 기본으로 제공합니다. Couchbase Server는 미션 크리티컬한 애플리케이션을 대규모로 지원하면서도 탁월한 대기 시간과 99.999% 가용성을 유지하는 데 탁월하다고 합니다.
Ubuntu용 Couchbase 서버 다운로드 하기
couchbase 서버는 리눅스용으로 .deb 패키지와 .rpm 패키지를 제공합니다.
먼저 아래 홈페이지에 접속해서 Try It Now를 눌러서 다운로드 페이지로 이동합니다.
High-Performance NoSQL Enterprise Database | Couchbase Server
Couchbase 다운로드 페이지는 아래와 같이 되어있는데, 아래에서 Linux용 arm과 x86_64 중 설치 패키지를 선택합니다.
.deb 또는 .rpm 확장자를 갖는 파일은 리눅스에서 프로그램을 설치하는 데 사용되는 패키지입니다. 일반적으로 GUI 환경에서는 더블 클릭하거나 Installer를 통해 쉽게 설치할 수 있지만, 저의경우 터미널 명령어를 사용하므로 다음과 같이 설치할 수 있습니다.
저는 ubuntu에 기본으로 설치되어있는 dpkg가 있으므로, deb 파일을 다운로드 하는 것으로 선택하였습니다.
deb 파일
.deb 파일은 데비안 패키지로, 우분투와 같은 데비안 계열의 리눅스 배포판에서 사용됩니다. 이 파일을 설치하기 위해서는 터미널에서 `dpkg` 명령어와 `-i` 옵션을 사용합니다.
dpkg -i [패키지이름.deb]
패키지를 제거할 때는 `-r` 옵션을 사용하여 아래와 같은 명령으로 삭제할 수 있습니다.
dpkg -r [패키지이름.deb]
Linux x86_64.deb를 선택후 Download를 누르면 아래와 같이 개인정보를 입력하는 창이 나타납니다.
내용은 적당히 채우시면 Download를 눌러서 다운로드 화면으로 이동할 수 있습니다.
다운로드 화면은 아래와 같이 나타나는데, Download를 누르시면 바로 웹 브라우저에서 다운로드가 되며, Copy Link를 누르시면 다운로드 링크가 복사됩니다.
저의 경우 Copy Link를 눌러서 다운로드 링크를 복사 후에 wget으로 다운로드 받았습니다.
https://packages.couchbase.com/releases/7.6.1/couchbase-server-enterprise_7.6.1-linux_amd64.deb
~/couchbase$ wget https://packages.couchbase.com/releases/7.6.1/couchbase-server-enterprise_7.6.1-linux_amd64.deb
--2024-04-29 13:08:41-- https://packages.couchbase.com/releases/7.6.1/couchbase-server-enterprise_7.6.1-linux_amd64.deb
Resolving packages.couchbase.com (packages.couchbase.com)... 54.230.61.78, 54.230.61.24, 54.230.61.120, ...
Connecting to packages.couchbase.com (packages.couchbase.com)|54.230.61.78|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 531507288 (507M) [application/vnd.debian.binary-package]
Saving to: 'couchbase-server-enterprise_7.6.1-linux_amd64.deb'
couchbase-server-enterprise_7.6.1-linux_amd64.deb 100%[==========================================================================================================================>] 506.88M 9.88MB/s
2024-04-29 13:09:36 (9.33 MB/s) - 'couchbase-server-enterprise_7.6.1-linux_amd64.deb' saved [531507288/531507288]
앞서 설명드린 것 처럼, dpkg -i 명령을 통해서 deb 패키지를 설치합니다.
couchbase-server-enterprise_7.6.1-linux_amd64.deb
test@test-KVM:~/couchbase$ sudo dpkg -i couchbase-server-enterprise_7.6.1-linux_amd64.deb
[sudo] password for test:
Selecting previously unselected package couchbase-server.
(데이터베이스 읽는중 ...현재 238509개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack couchbase-server-enterprise_7.6.1-linux_amd64.deb ...
Warning: Transparent hugepages looks to be active and should not be.
Please look at https://docs.couchbase.com/server/7.6/install/thp-disable.html as for how to PERMANENTLY alter this setting.
Warning: Swappiness is not set to 0.
Please look at https://docs.couchbase.com/server/7.6/install/install-swap-space.html as for how to PERMANENTLY alter this setting.
Minimum RAM required : 4 GB
System RAM configured : 30.60 GB
Minimum number of processors required : 4 cores
Number of processors on the system : 16 cores
Unpacking couchbase-server (7.6.1-3200-1) ...
couchbase-server (7.6.1-3200-1) 설정하는 중입니다 ...
You have successfully installed Couchbase Server.
Please browse to http://test-KVM:8091/ to configure your server.
Refer to https://docs.couchbase.com for additional resources.
Please note that you have to update your firewall configuration to
allow external connections to a number of network ports for full
operation. Refer to the documentation for the current list:
https://docs.couchbase.com/server/7.6/install/install-ports.html
By using this software you agree to the End User License Agreement.
See /opt/couchbase/LICENSE.txt.
Created symlink /etc/systemd/system/multi-user.target.wants/couchbase-server.service → /lib/systemd/system/couchbase-server.service.
설치가 성공적으로 완료되면 웹브라우저에서 http://localhost:8091에서 다음과 같은 화면을 확인하실 수 있습니다.
Couchbase 서버 설정하기 ( Configure Couchbase Server )
간단하게 시작할 수 있도록 웹 콘솔에서 단일 노드 클러스터를 프로비저닝하겠습니다. 웹 콘솔은 네트워크를 통해 http://<머신-ip-주소>:8091/ 또는 http://<머신-호스트명>:8091/에서 액세스할 수 있으며, Couchbase Server가 설치된 컴퓨터에서 http://localhost:8091 에서 액세스할 수 있습니다.
연결이 완료되면 시작 화면이 나타납니다:
새 클러스터 설정(Setup New Cluster)을 클릭하고 클러스터의 이름을 입력합니다. 시작하기 위해 전체 관리자 자격 증명을 관리자 및 비밀번호로 설정합니다.
Next를 누르면 아래와 같이 라이선스 동의를 요구합니다.
이용약관에 동의하고 기본값으로 완료(Finish With Defaults) 를 클릭하여 기본값으로 구성을 완료할 수 있습니다.
아니면, 디스크, 메모리, 서비스 구성(Configure Disk, Memory, Services)을 선택하여 이 시작하기의 목적에 맞는 서비스 하위 집합만 선택할 수도 있습니다.
구성 세부 정보 입력을 마쳤으면 오른쪽 하단의 저장 및 완료 버튼을 클릭합니다. 그러면 서버가 적절하게 구성되고 처음으로 Couchbase 웹 콘솔 대시보드가 나타납니다.
저는 기본 값으로 구성을 눌러서 구성을 완료하였습니다.
완료 후 아래와 같은 대시보드가 나타납니다.
오늘은 우분투 리눅스에서 couchbase의 최신 서버를 설치하고 신규 클러스터를 구성하는 법에 대해서 알아보았습니다.
'IT' 카테고리의 다른 글
Redis 캐시 전략에 대해서 - 웹 서비스를 위한 레디스 캐시 전략과 RDBMS와 동기화를 어떻게 할 것인가? (59) | 2024.05.02 |
---|---|
잘 알려지지 않은 Redis로 할 수 있는지 5가지 - 사례 연구 (case study) (62) | 2024.04.30 |
Redis vs Memcached 비교 (3) | 2024.04.24 |
SQLite 튜닝하기 [1] - memory mapped I/O(mmap) 사용하기 (35) | 2024.04.18 |
우분투에서 파이썬으로 sqlite 사용하기 - python ubuntu linux (39) | 2024.04.17 |