NoSQL이 모두 같은 것은 아닙니다.
카우치베이스 는 포레스터 리서치의 최근 보고서에서 NoSQL 분야의 리더로 인정받았습니다. '포레스터 웨이브™: 빅데이터 NoSQL, 2019년 1분기.' Forrester는 해당 부문에서 가장 중요한 15개 기업을 선정한 다음 26개 기준에 따라 평가하고 비교했습니다. Couchbase를 비롯한 몇몇 공급업체는 데이터베이스 기능과 전략 측면에서 다른 업체와 차별화되어 NoSQL 공급업체 제품 간에 상당한 차이가 있음을 강조했습니다.

이는 확실히 다음과 일치합니다. DB 엔진 순위에서 카우치베이스는 현재 몽고DB와 다소 놀랍게도 아마존 다이에 이어 #3 문서 저장소입니다.namoDB는 주로 키-값 저장소이기 때문입니다(DocumentDB는 문서 저장소입니다). 그러나 현재 관련성이 높은 26개의 구매 기준을 평가하는 엄격한 프로세스를 거치는 Forrester와 달리, DB-Engines의 벤더 참여도는 대체로 일관성이 없으며 인기도(예: 검색 및 트렌드)만을 측정할 수 있습니다. 하지만 DB-Engines 방법론과 데이터베이스 시장에서 수집한 인사이트를 통해 주목할 수 있는 것은 Microsoft Azure CosmosDB의 인기가 급격히 상승하고 있으며, 그 정도는 덜하지만 Couchbase나 MongoDB와 같은 NoSQL 강자들에 비해 DynamoDB의 인기가 급격히 상승하고 있다는 점입니다. 클라우드에 대한 관심과 도입이 증가하고 있는 것은 분명한 사실입니다.

클라우드 마이그레이션공급업체 종속 없이
오늘날 대부분의 기업은 최상의 실행 환경에서 워크로드를 실행하거나 전 세계의 보안, 거버넌스 및 규정 준수 요건을 충족하기 위해 하이브리드 또는 멀티 클라우드 전략을 고려하고 있습니다. DynamoDB 및 CosmosDB와 같은 클라우드 제공업체의 서비스형 데이터베이스는 단일 클라우드로 제한되어 있어 이러한 고객의 요구 사항을 충족하지 못하며, 클라우드 제공업체에 종속될 수밖에 없습니다.
반면 Couchbase의 클라우드 전략은 배포와 선택의 유연성을 제공하는 동시에 고객에게 데이터에 대한 완전한 제어권과 소유권을 부여하는 것입니다. Couchbase는 클라우드 네이티브 아키텍처를 사용하여 물리적, 가상 또는 컨테이너화된 인프라의 어느 곳에나 배포할 수 있는 스케일아웃 분산 데이터베이스로 구축되었습니다. Couchbase의 클라우드 제품은 이러한 아키텍처의 장점을 활용하여 온프레미스, 엣지, 클라우드 배포에 걸쳐 배포할 수 있는 일관된 데이터 플랫폼으로 고객이 하이브리드 및 멀티 클라우드 요구 사항을 해결할 수 있도록 지원하는 데 중점을 둡니다.
고객은 온프레미스 또는 클라우드 모두에서 'DIY' 오퍼링으로, 프라이빗 클라우드 또는 클라우드의 Kubernetes 인프라의 일부인 자체 관리형 서비스로, Couchbase Autonomous Operator를 활용하는 클라우드에서, 또는 클라우드 플랫폼에서 완전 관리형 서비스로 세 가지 방식으로 Couchbase를 배포할 수 있습니다. Couchbase의 클라우드 제품은 항상 고객의 클라우드 계정 내에 배포되므로 고객이 데이터의 보안과 소유권을 완벽하게 제어할 수 있습니다.
중요한 트레이드 오프: 공급업체 종속 대 동급 최고의 데이터베이스 기능
클라우드 제공업체 DBaaS 서비스는 퍼블릭 클라우드 기반 앱의 데이터를 신속하게 관리할 수 있는 편리한 옵션이지만, 배포를 확장할 때 결국 직면하게 될 모든 제한 사항을 염두에 두어야 합니다. 한편 용량을 추가하면 비용이 빠르게 치솟을 것입니다. 하지만 Rick Houlihan은 자신의 LinkedIn에서 비용에 대한 반대 관점을 제시합니다. 기사. 그는 실제 기술 구매 기준에 대한 Forrester의 엄격한 평가와는 달리 NoSQL 제품 간의 많은 기능적 차이점을 경시하고 있으며, 그의 논문은 단순히 비용으로 귀결된다고 주장합니다. Couchbase와 MongoDB의 고객층을 보면 반드시 그렇지만은 않다는 것을 알 수 있는데, Couchbase의 경우 차별화된 동급 최고의 엔터프라이즈급 기능으로 오늘날 NoSQL의 광범위한 채택을 주도하고 있습니다.
특히 데이터베이스의 기본 성능에 따라 최대 애플리케이션 성능이 제한된다는 점을 고려하면 애플리케이션과 함께 성장할 데이터베이스를 선택하는 것이 중요합니다. 고객들은 더 이상 애플리케이션 성능과 운영 효율성 문제를 해결하기 위해 단순히 하드웨어를 더 구입해야 한다는 사실을 받아들이지 않습니다. 그 결과, 많은 고객들이 이미 NoSQL을 활용하도록 애플리케이션을 재설계하고 있지만 정규화된 스키마 및 ACID와 같은 관계형 시스템 특성을 피하는 것은 선택 사항이 아닙니다.
애플리케이션 범위와 요구 사항이 시간이 지남에 따라 변화하고 발전함에 따라 민첩한 개발을 지원하는 플랫폼은 매우 중요합니다. 사실, 적절한 비정규화된 데이터 모델링에 의해 성능이 좌우되도록 CPU를 절약할 수 있는 단순한 쿼리에만 NoSQL이 가장 적합하다고 가정하는 것은 풍부하고 복잡한 쿼리와 분석을 지원하지 않는 NoSQL 데이터베이스의 한계를 가진 사람들이 취하는 관점일 뿐입니다. 개방형 표준에 기반한 JSON용 SQL을 통해 고객은 관계형에서 NoSQL로 쉽고 빠르게 마이그레이션할 수 있으며, 데이터베이스 비정규화를 NoSQL에 맞게 강제하는 것은 직관적이지 않다는 것을 이해하고 있습니다. 대신, Couchbase는 고객이 애플리케이션의 액세스 패턴을 반영하여 데이터 모델을 재설계하도록 권장함으로써 최적화된 NoSQL 스키마를 허용하고, 데이터 중복을 피하고 데이터 무결성을 유지하기 위해 여전히 필수적인 경우 조인을 사용합니다.
ANSI 조인을 위한 Couchbase N1QL 지원은 대규모 성능을 위해 설계된 동급 최고의 NoSQL 플랫폼 내에서 진정으로 우아한 솔루션으로, 고객이 데이터 센터 플로어에서 서버를 덜 차지할 수 있도록 지원합니다(예: Rakuten Viber가 MongoDB에서 Couchbase로 마이그레이션하고 AWS 서버 수를 절반으로 줄였습니다.). 일부 NoSQL 제품은 비슷해 보이는 기능을 제공하지만, 실제로 사용해 보면 그 구현과 내재된 한계가 분명해집니다. 예를 들어, MongoDB의 집계 프레임워크는 문서 간 조회를 통한 조인을 지원하기 위해 문서가 동일한 샤드에 있어야 하므로 데이터베이스 유연성과 성능에 심각한 영향을 미칩니다.
결론
퍼블릭 클라우드 DBaaS 제품은 매우 간단하고 사용하기 쉬워 보일 수 있지만, 어떤 제품도 기본적으로 광범위한 기능을 적절히 제공하지는 않습니다. 예를 들어, 통합된 보기/API 없이 DynamoDB Accelerator(DAX) 클러스터를 프로비저닝하거나 ElastiCache를 사용해 지연 시간을 줄이고, 분석을 위해 DynamoDB를 RedShift에 연결하거나, 최대 처리량을 관리하기 위해 Lambda에 연결하는 것은 모두 고객의 몫입니다.
현실적으로 하나의 솔루션, 특히 문서나 키값이 모든 것에 적합하지 않습니다. NoSQL 공간에는 Couchbase와 같이 다양한 솔루션과 플랫폼을 선택할 수 있는 여지가 있습니다. 성능, 안정성, 확장성은 NoSQL의 기본 원칙이자 Couchbase의 강점이며, 동시에 JSON 문서와 KV 데이터에 빠르고 간편하게 액세스할 수 있게 해줍니다. 가장 중요한 것은 기술 리더, 아키텍트, 애플리케이션 개발자 모두가 데이터 액세스를 위해 완전히 새로운 패러다임이나 독점 API를 배우거나 인력을 충원할 필요가 없도록 SQL과 같은 익숙한 도구를 원한다는 점입니다.
궁극적으로 개발자는 공급업체에 종속되지 않으면서도 뛰어난 개발 유연성과 사용 편의성을 갖춘 성능을 원합니다. 안타깝게도 AWS는 이러한 요구 사항 중 일부만 충족하므로 고객은 계속해서 애플리케이션을 위해 여러 솔루션을 선택하게 됩니다. Couchbase는 오프라인 우선 모바일 애플리케이션을 비롯한 대규모의 고도로 유연한 사용 사례에서 캐싱 레이어, 소스 오브 트루, 기록 시스템으로 일상적으로 사용됩니다. 기업의 가장 비즈니스 크리티컬한 애플리케이션을 지원하기 위해 선택되었으며 물리적, 가상화, 컨테이너 및 퍼블릭 클라우드 환경(AWS와 같은 퍼블릭 클라우드에 약 30% 배포)에 걸쳐 성공적으로 배포되었습니다. 일관된 API 세트를 통해 액세스 및 관리되며, 단일 단위로 확장, 업그레이드, 진단할 수 있도록 설계되어 오늘날의 멀티 클라우드 요구 사항을 해결할 뿐만 아니라 미래의 요구 사항에도 유연하게 적응할 수 있는 완벽한 데이터베이스 플랫폼입니다.
환상적이고 매우 유익합니다! DynamoDB, CosmosDB 등에 대한 경쟁 토론에 확실히 사용할 것입니다.