DocumentDB(Azure)의 쿼리 언어는 무엇인가요?

DocumentDB는 MQL(MongoDB 쿼리 언어)을 사용하여 데이터를 쿼리하고 조작하는 오픈 소스 문서 지향 데이터베이스입니다. MQL은 BSON(Binary JSON) 형식으로 저장된 JSON과 유사한 문서를 사용하기 위한 풍부하고 표현적인 구문을 제공합니다. 이 언어는 계층적 문서 구조에서 자연스럽게 작동하도록 설계되어 간단한 쿼리와 복잡한 집계를 모두 지원합니다. 문서 데이터베이스 에코시스템에서 널리 채택된 쿼리 언어인 MQL을 사용하면 개발자가 DocumentDB의 확장성 있는 유연한 스토리지 엔진을 사용하는 동안 기존 MongoDB 지식을 적용할 수 있습니다.

Model

DocumentDB에서 MQL은 데이터가 테이블의 행이 아닌 문서 컬렉션으로 저장되는 문서 모델을 중심으로 빌드됩니다. 쿼리는 달러 기호($예: , 및 $group)로 $match$project시작하는 연산자와 함께 선언적 구문을 사용하여 표현됩니다. 이 방법을 사용하면 개발자가 구성 및 재사용할 수 있는 작업 파이프라인을 통해 데이터를 필터링, 변환 및 집계할 수 있습니다.

언어는 기본적으로 중첩된 문서 및 배열을 지원하므로 개발자는 조인 또는 정규화 없이 복잡한 계층적 데이터 구조로 직접 작업할 수 있습니다. MQL은 비교, 논리 작업, 배열 조작 및 집계를 위한 포괄적인 연산자 집합을 제공합니다. DocumentDB의 쿼리 엔진은 인덱스를 사용하여 대규모 데이터 세트 간에 쿼리를 효율적으로 실행하므로 운영 및 분석 워크로드 모두에 적합합니다.

Compatibility

DocumentDB의 호환성 철학은 포괄적인 MongoDB MQL(쿼리 언어) 지원을 제공하는 동시에 문서 데이터베이스 에코시스템과 함께 발전할 수 있는 유연성을 유지하는 데 중점을 두고 있습니다. 시스템은 집계 단계, 집계 연산자, 쿼리 및 프로젝션 연산자 및 업데이트 연산자를 비롯한 주요 연산자 범주에서 지원을 측정하여 호환성을 평가합니다. 이러한 호환성을 통해 대부분의 표준 MQL 구문이 수정 없이 원활하게 작동하므로 기존 MongoDB 전문 지식을 적용하고 최소한의 마찰로 애플리케이션을 마이그레이션할 수 있습니다.

DocumentDB를 사용하여 애플리케이션을 빌드할 때 쿼리 변환 또는 코드 적응이 필요하지 않은 투명한 호환성을 활용할 수 있습니다. DocumentDB가 MongoDB 유선 프로토콜을 구현하므로 기존 MongoDB 클라이언트 드라이버 및 SDK(소프트웨어 개발 키트)를 직접 사용할 수 있습니다. 일반적인 CRUD 작업, 집계 파이프라인 및 인덱스 전략은 MongoDB 기반 시스템에서 직접 전송되므로 데이터베이스별 적응보다는 애플리케이션 논리에 집중할 수 있습니다. DocumentDB는 연산자 범위를 지속적으로 확장하지만 안정적인 기반을 통해 애플리케이션을 이식 가능하고 유지 관리할 수 있습니다.