NoSQL 도입이 증가함에 따라 개발자와 기업 모두 미션 크리티컬 애플리케이션과 서비스를 리플랫폼하기 위해 범용 데이터베이스가 필요합니다. 이러한 데이터베이스는 더 이상 데이터에 1초 미만의 액세스가 필요한 백엔드 서비스에서만 사용되는 것이 아니라 복잡한 비즈니스 규칙에 따라 쿼리 요구 사항이 있는 엔터프라이즈 애플리케이션에서도 사용됩니다.
NoSQL 데이터베이스 분야의 초기 진입자인 MongoDB™는 데이터를 쿼리하는 절차적 방법을 제공합니다. 이러한 접근 방식은 특정 필터 조건이 있는 문서를 찾는 등 대상 쿼리에는 효과적이지만, 문서 조인 및 집계가 필요한 쿼리에는 복잡해질 수 있습니다. 이러한 쿼리를 가능하게 하기 위해, MongoDB는 고급 요구 사항을 지원하는 정교한 집계 프레임워크를 제공합니다. 이 접근 방식의 문제점은 데이터 분석가나 데이터 과학자와 같은 다른 데이터 소비자 역할보다는 개발자 커뮤니티에 더 적합한 특정 절차적 프로그래밍 지식이 필요하다는 것입니다.
다음은 MongoDB 쿼리 프레임워크의 몇 가지 억제적인 특성입니다:
- 독점 - 몽고DB의 쿼리 방법과 집계 프레임워크는 사용자가 새로운 언어를 배워야 하는 독점적인 구조를 사용합니다.
- 복잡함 - 특정 문서를 찾기 위한 간단한 쿼리의 경우 MongoDB 쿼리 방법은 비교적 간단하지만, 집계 프레임워크는 상당히 복잡합니다.
- 제한된 표현력 - 몽고DB는 조인 및 샤드된 컬렉션 조인에 대한 지원이 제한적입니다. 다음을 참조하세요. 블로그 카우치베이스와 몽고DB의 조인 지원을 비교합니다.
- 제한된 쿼리 최적화 - 집계 파이프라인은 절차적이고 표현력이 부족하기 때문에 애플리케이션은 클라이언트 측에서 복잡한 데이터 처리를 수행하여 이를 보완해야 합니다. 그 결과 복잡성과 성능 저하가 발생합니다.
카우치베이스는 몽고DB가 출시된 지 몇 년 후에 NoSQL 시장에 뛰어들어 다른 접근 방식을 취했습니다. Couchbase는 보다 개방적인 SQL 표준을 채택하고 JSON 데이터베이스를 지원하기 위해 SQL 언어를 확장했습니다. Couchbase의 JSON용 SQL 기반 언어(N1QL)는 SQL의 표현력을 Couchbase 데이터 플랫폼에 제공합니다. 이 언어는 오늘날의 중요한 비즈니스 애플리케이션의 성능 요구 사항을 지원하도록 확장되는 고급 쿼리 최적화 및 인덱싱 기능뿐만 아니라 ANSI 조인 구성을 지원합니다.
다운로드 백서 에서 Couchbase N1QL과 초고속 성능에 대해 자세히 알아보세요.