데이터베이스 비교 분야에서 오랜 역사를 자랑하는 저명한 IT 컨설팅 기관인 Altoros는 Couchbase의 의뢰를 받아 가장 최근에 독립적인 벤치마크를 발표했습니다. 이 벤치마크는 Couchbase, Redis, Amazon, MongoDB에서 제공하는 DBaaS 솔루션을 평가합니다. 이 연구는 NoSQL 데이터베이스를 벤치마킹하는 데 널리 인정받는 YCSB 표준을 활용합니다. 이 블로그에서는 다양한 워크로드와 클러스터 규모에 걸쳐 기능, 성능, 총소유비용(TCO) 측면에서 Couchbase Capella가 MongoDB Atlas, Redis Enterprise Cloud, Amazon DynamoDB를 능가한다는 것을 입증하는 보고서의 간략한 요약본을 소개합니다.

YCSB (야후! 클라우드 서비스 벤치마크)는 클라우드 기반 데이터베이스 시스템의 성능을 벤치마킹하는 데 사용되는 표준화된 프레임워크입니다. 다양한 워크로드 테스트로 구성되어 있습니다. 이 연구를 위해 선택한 워크로드는 다음과 같습니다:

    • 워크로드 A50% 읽기 및 50% 업데이트: 데이터베이스 시스템이 주로 읽기 작업을 처리하고 가끔 업데이트하는 쓰기 중심의 워크로드 시나리오를 시뮬레이션하도록 설계되었습니다.
    • 워크로드 C100% 읽기: 데이터베이스 시스템이 주로 읽기 작업을 수행하는 시나리오를 시뮬레이션하여 읽기 집약적인 워크로드에 대한 시스템의 성능 및 확장성에 대한 인사이트를 제공합니다.
    • 페이지 매김 워크로드는 페이지가 매겨진 데이터 검색과 관련된 시나리오를 에뮬레이션합니다. 이 워크로드에서 데이터베이스 시스템은 일반적으로 읽기 및 찾기 작업의 조합을 통해 더 큰 데이터 세트에서 데이터의 하위 집합을 효율적으로 가져오는 능력을 기준으로 평가됩니다. 리더보드와 같이 데이터를 작은 덩어리로 표시하거나 정렬된 긴 일련의 결과에 대한 페이지 매김 메커니즘을 구현해야 하는 애플리케이션에서 일반적으로 발생하는 페이지 매김 및 데이터 검색 작업을 처리하는 시스템의 성능을 평가하는 데 도움이 됩니다.
    • 워크로드 E95% 읽기, 5% 업데이트: 대부분의 작업이 읽기이고 업데이트의 비중이 적은 워크로드에서 데이터베이스 시스템의 성능과 확장성을 평가하도록 설계되었습니다.

벤치마크 하이라이트

자세한 결과는 알토로스 보고서에서 확인하세요. 이 벤치마크에는 새로운 Magma 스토리지 엔진이 사용되었습니다. (마그마는 대용량 데이터 스토리지의 경우 효율성이 뛰어나고 메모리 요구량이 감소하지만, 순수한 속도의 경우 카우치스토어 를 사용하는 것이 더 나은 선택일 때가 많습니다.) 다음은 몇 가지 주요 내용입니다.

성능

이전과 마찬가지로 Couchbase는 업데이트가 많은 사용 사례에서 특히 대규모의 필요성이 증가함에 따라 매우 뛰어난 성능을 발휘합니다. 예를 들어 워크로드 A의 결과는 다음과 같습니다:

이 그래프에서 Capella의 처리량이 4개 DBaaS 서비스 중 가장 높다는 것을 알 수 있습니다. Capella의 메모리 우선 아키텍처와 자동 샤딩으로 인해 지연 시간도 4개 경쟁사 중 가장 낮습니다.

기능

워크로드 C는 "순수 캐시" 사용 사례로 주목할 가치가 있습니다. Capella와 Redis Enterprise Cloud는 모두 메모리 우선 설계로 인해 이 워크로드에서 우수한 성능을 발휘하며, 결과를 캐시하여 응답 속도를 높일 수 있습니다. MongoDB와 DynamoDB는 디스크에서 데이터를 더 자주 읽어야 하므로 성능이 좋지 않습니다. MongoDB는 캐시 역할을 하는 Redis와 유사한 시스템으로 보강된 설계를 많이 보았지만, Couchbase에는 이 기능이 내장되어 있습니다.

다시 한번 강조하지만, 처리량은 높고 지연 시간은 짧습니다.

그러나 Redis는 순수 캐시의 경우 성능이 매우 우수하지만 페이지 매김이라는 또 다른 워크로드에서는 어려움을 겪습니다.

이전과 마찬가지로, 쿼리 언어에 페이지 매김 기능이 없기 때문에 DynamoDB는 이 워크로드에서 제외되었습니다. Redis에는 페이지 매김 기능이 있지만 성능이 매우 떨어집니다. 일반적인 Redis 배포에서는 이러한 유형의 처리를 보조 데이터베이스에 맡깁니다. Capella는 이러한 워크로드를 매우 잘 처리합니다. 높은 처리량과 짧은 지연 시간, 그리고 SQL 구문인 SELECT . . LIMIT . . . OFFSET.

그러나 Dynamo의 Workload E에서 고려해야 할 몇 가지 다른 요소가 있습니다. DynamoDB 프로비저닝 방법, 필요한 비용, 스로틀링 및 확장에 관한 DynamoDB의 동작에 대한 자세한 내용은 보고서에서 확인할 수 있습니다.

총 소유 비용(TCO)

"순수 캐시"의 경우, Redis는 다른 데이터베이스와 함께 사용되는 경우가 많습니다. 캐시 성능은 좋지만 두 개의 개별 데이터베이스를 실행하는 대가를 치르게 됩니다. (예: Redis와 Mongo, Redis와 Oracle 등).

"비용 대비 효과"와 관련하여 각 데이터베이스 배포 비용을 "10억 작업당 달러"로 요약한 차트가 포함되어 있습니다. 예를 들어, 다음은 워크로드 A의 차트입니다(막대가 짧을수록 비용이 적게 듭니다):

보고서 전문을 자세히 읽어보면 Couchbase가 모든 대결에서 항상 승리하는 것은 아니라는 것을 알 수 있습니다. 하지만 저렴한 비용, 정교한 기능, 성능의 이상적인 조합이라는 큰 그림에서 이기는 것은 분명합니다(고객인 Broadjump가 말한 것처럼 "세 가지 위협"이 있습니다.).

Couchbase Capella는 대부분의 워크로드+클러스터 조합에서 매우 잘 작동합니다. 또한 Capella는 빠르고 매우 다재다능한 다중 모델 데이터베이스입니다:

    • 키-값 - 메모리 속도 직접 조회
    • 내장 캐싱 - 짧은 지연 시간, 빠른 조회
    • JSON 문서 - 유연한 데이터
    • SQL++ - 유연한 쿼리
    • 전체 텍스트 검색 - 텍스트, 순위, 지리공간 검색(Solr과 같은 별도의 도구 없이)
    • 시계열 - 내장된 서식 지정 함수를 사용하여 JSON의 TS_arrays에 저장됩니다.
    • 모바일 동기화 - 클라이언트 간 동기화를 통해 자동 및 오프라인 우선!
    • 자동 샤딩/파티셔닝 - 개발자에게는 쉽고 성장에는 탁월한
    • 자동 복제 및 리밸런싱 - 손쉬운 운영
    • SQL++를 사용한 분석 - BI를 위한 복잡한 쿼리 옵션
    • 이벤트 - 데이터베이스 수준에서 로직 처리
    • 카프카로 데이터 캡처 변경하기 문서 변경 로그 스트리밍을 위한 통합

이러한 모든 요소를 고려한 Couchbase Capella는 고성능, 정교한 기능, 낮은 총소유비용으로 구성된 최고의 토탈 패키지를 제공합니다.

다음 단계

작성자

게시자 매튜 그로브스

Matthew D. Groves는 코딩을 좋아하는 사람입니다. C#, jQuery, PHP 등 무엇이든 풀 리퀘스트를 제출할 정도로 코딩을 좋아합니다. 90년대에 부모님의 피자 가게를 위해 QuickBASIC POS 앱을 만든 이후로 전문적으로 코딩을 해왔습니다. 현재 Couchbase의 선임 제품 마케팅 관리자로 일하고 있습니다. 여가 시간에는 가족과 함께 축구 경기를 관람하고 개발자 커뮤니티에 참여하며 시간을 보냅니다. 그는 .NET의 AOP, .NET의 프로 마이크로서비스, Pluralsight 저자, Microsoft MVP의 저자이기도 합니다.

댓글 남기기