DocumentDB (Azure) のクエリ言語は何ですか?

DocumentDB は、MongoDB クエリ言語 (MQL) を使用してデータのクエリと操作を行う、オープンソースのドキュメント指向データベースです。 MQL は、バイナリ JSON (BSON) 形式で格納された JSON に似たドキュメントを操作するための豊富で表現力豊かな構文を提供します。 この言語は、単純なクエリと複雑な集計の両方をサポートする階層型ドキュメント構造で自然に動作するように設計されています。 MQLはドキュメントデータベースエコシステムで広く採用されているクエリ言語として、DocumentDBのスケーラブルで柔軟なストレージエンジンを使用しながら、開発者が既存の MongoDB 知識を適用できるようにします。

モデル

DocumentDB では、MQL はドキュメント モデルを中心に構築され、データはテーブル内の行ではなくドキュメントのコレクションとして格納されます。 クエリは、ドル記号 ($) で始まる演算子 ( $match$project$groupなど) で始まる宣言構文を使用して表現されます。 この方法を使用すると、開発者は、構成および再利用できる操作のパイプラインを使用して、データをフィルター処理、変換、集計できます。

この言語では、入れ子になったドキュメントと配列がネイティブにサポートされるため、開発者は結合や正規化を必要とせずに、複雑な階層データ構造を直接操作できます。 MQLは、比較、論理演算、配列操作、集計のための包括的な演算子セットを提供します。 DocumentDB のクエリ エンジンは、インデックスを使用して大規模なデータセット間でクエリを効率的に実行し、運用ワークロードと分析ワークロードの両方に適しています。

Compatibility

DocumentDB の互換性哲学は、ドキュメント データベース エコシステムと共に進化する柔軟性を維持しながら、包括的な MongoDB クエリ言語 (MQL) サポートを提供することを中心としています。 システムは、集計ステージ、集計演算子、クエリ演算子とプロジェクション演算子、更新演算子など、主要な演算子カテゴリ間のサポートを測定することで互換性を評価します。 この互換性により、ほとんどの標準MQLコンストラクトは変更なしでシームレスに動作するため、既存の MongoDB の専門知識を適用し、最小限の摩擦でアプリケーションを移行することができます。

DocumentDB を使用してアプリケーションを構築する場合は、透過的な互換性を利用して、クエリ変換やコードの適応を必要としません。 DocumentDB では MongoDB ワイヤ プロトコルが実装されるため、既存の MongoDB クライアント ドライバーとソフトウェア開発キット (SDK) を直接使用できます。 一般的な CRUD 操作、集計パイプライン、インデックス戦略は MongoDB ベースのシステムから直接転送されるため、データベース固有の適応ではなく、アプリケーション ロジックに集中できます。 DocumentDB はオペレーターの範囲を継続的に拡大していますが、安定した基盤により、アプリケーションは移植性と保守性を維持できます。