Couchbase는 무료 설치 바이너리와 완전 관리형 서비스형 데이터베이스 등 여러 에디션과 배포 옵션을 제공하는 NoSQL 데이터베이스 플랫폼입니다. 이 블로그에서는 무료 Couchbase 커뮤니티 에디션을 다음과 간략하게 비교합니다. 카우치베이스 카펠라™ DBaaS를 비교하고 관리형 서비스로 업그레이드할 경우의 이점을 제시합니다. 두 에디션을 동일한 조건에서 평가하기 위해 YCSB(야후 클라우드 서비스 벤치마크) 사양 워크로드 E를 기준으로 구현하고 실행했습니다.
카우치베이스 커뮤니티 에디션(CE)이란 무엇인가요?
커뮤니티 에디션(CE)은 Couchbase Server 분산 NoSQL 데이터베이스의 무료 설치 바이너리입니다. 유연한 JSON 데이터스토어와 기본적인 가용성, 성능, 확장 및 보안 기능이 필요한 매우 간단한 애플리케이션을 위해 설계되었습니다. CE에서 개발된 애플리케이션은 Capella로 완전히 이식할 수 있습니다. CE 환경에 대한 종속성은 없지만, 클러스터는 BSL 1.1 라이선스에 의해 5개 노드로 제한됩니다. CE에는 멀티 모델 포함 데이터 액세스 서비스 CE 클러스터의 데이터와 상호 작용합니다:
-
- 키-값: '키' 조회를 통해 데이터를 읽고 쓸 수 있는 기능은 특히 Couchbase의 메모리 우선 아키텍처를 고려할 때 매우 빠르며, 단순성을 위해 매우 유용합니다.
- SQL++(JSON용 SQL): SQL 구문 지원은 데이터베이스 업계 표준 데이터 액세스 방법입니다.
- 전체 텍스트 검색(FTS): 지리 기반 검색과 퍼지 검색 일치도 지원하는 데이터용 텍스트 '검색 엔진'입니다.
카우치베이스 카펠라란 무엇인가요?
카우치베이스 카펠라 는 완전 관리형 서비스형 데이터베이스 데이터베이스 관리 작업을 제거하여 사용자가 제품에서 제공되는 기능을 활용하는 데 집중할 수 있도록 하는 서비스형 데이터베이스(DBaaS)입니다. Couchbase를 가장 쉽고 빠르게 시작할 수 있는 방법입니다. 다중 모델 액세스를 위해 Capella는 키-값, SQL++ 및 전체 텍스트 검색과 함께 다음과 같은 추가 Couchbase 서비스를 제공합니다:
-
- 애널리틱스: 멀티테넌트 지원으로 격리된 환경에서 복잡한 애드혹 SQL++ 쿼리로 데이터를 쿼리하세요.
- 이벤트: 개발자는 데이터 변경 이벤트에 응답하는 JavaScript 함수를 작성할 수 있습니다.
- 모바일 동기화 모바일용 앱 서비스: 오프라인 우선 임베드 가능한 데이터베이스인 Couchbase Lite는 P2P 및 클라이언트/서버 데이터 동기화를 모두 제공하며 Couchbase Server와 동기화할 수 있습니다.
비교
대칭성과 동등한 벤치마크를 보장하기 위해 CE와 카펠라 모두에 대해 동일한 YCSB 워크로드를 실행했습니다. 워크로드 E 는 스캔/업데이트 비율이 95%-5%인 개별 레코드가 아닌 레코드 범위가 쿼리되는 단거리 스캔 워크로드입니다. 이 워크로드는 많은 스캔 요청과 주기적인 업데이트가 포함된 스레드 대화를 시뮬레이션합니다. 실제 상황에서 스캔 작업의 예로는 사용자가 제품 카탈로그를 보고 가끔씩 업데이트 요청을 생성하는 제품을 구매하는 이커머스 앱이 있습니다.
이 비교는 설치 및 클러스터 설정, 그리고 Capella와 비교한 CE의 성능에 중점을 두었습니다. CE 노드 제한으로 인해 5개 노드 클러스터에서 Ubuntu 18.04.4 LTS 운영 체제를 실행하는 Capella 클러스터에는 8개의 CPU, 16GB RAM 머신을, CE 클러스터에는 c4.2xlarge 일치하는 EC2 인스턴스를 사용했습니다. 워크로드는 5개의 액세스 클라이언트를 사용하여 20,000,000개의 레코드에 대해 실행되었으며, 각각 20개의 작업자 스레드를 발행하여 총 100개의 스레드를 생성했습니다. 워크로드 E를 실행하기 위해 다음과 같은 스캔/업데이트 쿼리가 사용되었습니다.
Couchbase SQL++를 사용하여 쿼리를 스캔합니다:
1 |
선택 메타().id FROM `버킷` 어디 메타().id >= $1 주문 BY 메타().id LIMIT $2 |
카우치베이스 SQL++를 사용한 업데이트 쿼리:
1 |
컬렉션.대체(id, 콘텐츠, replaceOptions().시간 초과(kv타임아웃).만료(문서 만료).내구성(persistTo, 복제 대상)) |
설치 및 클러스터 설정
오픈 소스 플랫폼에서 CE 클러스터를 설정하는 것은 쉽지만, 노력의 수준에서는 Capella DBaaS와 비교할 수 없습니다. CE를 설치하려면 여러 단계를 거쳐야 합니다:
-
- Ubuntu 18.04.4 LTS 운영 체제로 5개의 AWS EC2 머신 생성하기
- CE 설치 를 각 노드에 설치해야 하며, OS의 최소 단계는 다음과 같습니다:
메타 패키지를 다운로드하세요.
-
-
-
-
1curl -O https://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-amd64.deb
-
-
-
메타 패키지를 설치합니다.
-
-
-
-
1sudo dpkg -i ./카우치베이스-릴리스-1.0-amd64.deb
-
-
-
로컬 패키지 데이터베이스를 다시 로드합니다.
-
-
-
-
1sudo apt-get 업데이트
-
-
-
Couchbase Server CE 최신 패키지를 설치합니다.
-
-
-
-
1sudo apt-get 설치 카우치베이스-서버-커뮤니티
-
-
-
-
- 하나의 CE 노드에서 클러스터 만들기
- 기본 머신에 로그인하고 노드 IP를 기준으로 각 노드를 클러스터에 추가합니다.
아카펠라 클러스터를 만들려면 다음 단계가 필요합니다:
-
- 가입하기만 하면 계정
- 카펠라 컨트롤 플레인 사용자 인터페이스를 사용하여 새 프로젝트 만들기
- 동일한 사용자 인터페이스를 사용하여 클러스터 만들기
성능
CE에는 완전한 다차원 확장(MDS)이 없습니다. 노드 조합은 데이터, 인덱스, 쿼리, 전체 텍스트 검색, 데이터, 인덱스, 쿼리로 제한됩니다; 또는 데이터 전용입니다. 즉, 특정 워크로드에 완벽하게 맞도록 서비스 조합을 모델링할 수 없습니다. CE 클러스터는 5개 이하의 노드만 포함할 수 있으며 Couchbase Analytics 및 Eventing 서비스는 사용할 수 없습니다. 이러한 노드 제한은 CE가 소규모의 비프로덕션 환경에 더 적합하다는 것을 의미합니다. 인덱스 복제본도 사용할 수 없습니다. 이는 CE 클러스터 성능에 영향을 미칠 수 있습니다. YCSB 워크로드 E 비교에서 Capella는 약 3배 더 나은 처리량과 20% 더 낮은 지연 시간을 보였습니다.
아래 CPU 사용률 그래프 스크린샷은 YCSB 사양의 작업 워크로드 E를 실행하는 CE 클러스터가 하나의 노드만 완전히 활용하는 것과 모든 노드가 처리에 활용되는 Capella 클러스터가 어떻게 다른지 보여줍니다. Capella를 사용하면 용량 낭비가 없고 모든 노드를 완전히 사용할 수 있으며 복제된 인덱스를 가질 수 있습니다. 즉, Capella는 더 적은 하드웨어로 CE 성능을 능가하므로 전체 비용을 절감할 수 있습니다.
요약
이 YCSB 워크로드 E 비교는 다음을 보여줍니다. 카우치베이스 카펠라 는 카우치베이스 커뮤니티 에디션보다 더 완벽한 데이터베이스입니다. Capella는 더 유연하며 분석, 이벤트, 성숙한 모바일 제품군과 같은 추가 서비스를 포함합니다. 반면, 인덱스 복제본 없음, 제한된 MDS, 5개의 노드 상한과 같은 제한 사항으로 인해 성능이 덜 중요한 소규모 워크로드에는 CE가 더 적합합니다.
Capella를 사용하면 3배 향상된 성능과 클라우드 네이티브 설계, 무제한 확장, 지역 복제를 통한 고가용성, 데이터 센터 간 복제(XDCR), 유연한 재해 복구 기능을 모두 누릴 수 있습니다. Capella는 운영 및 관리 비용을 사실상 제거하여 총소유비용(TCO)을 낮추는 동시에 엔터프라이즈급 NoSQL 문서 저장소를 제공하여 최신 애플리케이션의 요구 사항을 지원합니다. 지금 바로 CE에서 Capella로 업그레이드해야 하는 이유입니다!
다음 단계
자세히 알아보기 카우치베이스 카펠라:
-
- 카펠라에 가입하여 체험해 보세요. 30일 무료 체험.
- 평가판 클러스터를 Playground에 연결 를 클릭하거나 프로젝트를 연결하여 직접 테스트해 보세요.
- 이미 Capella를 사용하고 있는 경우 대화형 Couchbase 셸을 사용하거나 Capella Control 플레인을 통해 클러스터와 상호 작용할 수 있습니다:
- 문서 뷰어 확인
- 프로젝트에 연결
- 다음 내용을 살펴보십시오. 카펠라 학습 과정!
튜토리얼
그리고 카우치베이스 개발자 포털 에는 수많은 튜토리얼/퀵스타트 가이드 그리고 학습 경로 를 통해 시작하세요!
문서 보기 를 클릭해 Couchbase SDK에 대해 자세히 알아보세요.
이 글을 읽어주셔서 감사합니다! 질문이나 의견이 있으시면 다음 링크를 통해 문의해 주세요. 카우치베이스 포럼!