Azure DocumentDB と Azure Cosmos DB はどちらも、柔軟な JSON データ モデルを使用して成功したアプリケーションを構築できるように設計された強力な NoSQL データベース サービスです。 どちらも NoSQL データベース市場にサービスを提供しますが、さまざまなユース ケースやアーキテクチャ パターンに合わせて最適化されています。 このガイドは、特定の要件に最も適したサービスを理解するのに役立ちます。
ニーズに適したサービスを選択する
Azure DocumentDB と Azure Cosmos DB の両方が、NoSQL データベースでの成功をサポートするように設計されています。 キーは、アプリケーションの特定の要件と拡張パターンに合わせてサービスを選択することです。
Azure Cosmos DB を選択するタイミング
Azure Cosmos DB は、必要な スケールアウト シナリオ 向けに最適化されています。
- グローバル分散と高可用性: 業界をリードする 99.999% 可用性サービス レベル アグリーメント (SLA) と複数のリージョン間の自動フェールオーバー
- 大規模なスケールとパフォーマンス: 1 桁ミリ秒の応答時間で 1 秒あたり何百万もの操作を処理する必要があるアプリケーション向けに設計されています
- 瞬時スケーリング: ウォームアップ期間なしでトラフィックの急増にすぐに応答する自動および透過的なスケーリング
- ミッション クリティカルなアプリケーション: エンタープライズ レベルのセキュリティ、コンプライアンス認定、および極端な負荷の下での保証されたパフォーマンス
- マイクロサービス アーキテクチャ: 複数のサービスとリージョン間で一貫したパフォーマンスを必要とする分散システムに最適
- AI アプリケーションとベクター検索: 埋め込みをサポートするネイティブ ベクター データベース機能、検索拡張生成 (RAG)、セマンティック検索、AI エージェント メモリ システムの有効化
- 生成 AI ワークロード: 運用データと共にベクター埋め込みを格納およびクエリするための複数のアルゴリズム (反転ファイル (IVF)、階層ナビゲーション可能な小さな世界 (HNSW)、DiskANN) を使用した統合ベクター検索
理想的なユース ケース: トラフィックの多い Web アプリ、IoT データ収集、リアルタイム ゲーム、グローバル ショッピング サイト。 AI チャットボット、AI エージェント、RAG アプリ、セマンティック検索にも最適です。 世界中で保証されたパフォーマンスを必要とする任意のアプリに最適です。
Azure DocumentDB を選択するタイミング
Azure DocumentDB は、必要な スケールアップ シナリオ 向けに最適化されています。
- 豊富なクエリ機能: 複雑な集計パイプライン、結合、分析クエリによる高度な MongoDB クエリ言語 (MQL) のサポート
- 使い慣れた開発エクスペリエンス: 既存のドライバー、ツール、開発パターンとの MongoDB ワイヤ プロトコルの完全な互換性
- 柔軟なデータ モデリング: PostgreSQL エンジン上に構築され、複雑なドキュメント構造と高度なインデックス作成を堅牢にサポート
- コスト効率の高いスケーリング: 予測可能なコストで垂直方向にスケーリングする仮想コアベースの価格モデル
- 高度なクエリ機能: フルテキスト検索、地理空間クエリ、ベクター検索、高度な集計操作のサポート
理想的なユース ケース: 複雑なクエリを含むコンテンツ システム、データ分析ツール、アプリに最適です。 MongoDB からの移行や、高度なドキュメント データベース機能が必要な場合にも最適です。
アーキテクチャとスケーリングの違い
各サービスの基本的なアーキテクチャ アプローチを理解することは、それぞれの長所と最適なユース ケースを説明するのに役立ちます。
Azure Cosmos DB (スケールアウトアーキテクチャ)
Azure Cosmos DB では、エラスティックな水平スケーリング用に設計された 要求ユニット (RU) ベースのモデル を使用します。
- 自動パーティション分割: 最適なパフォーマンスを実現するために、データが複数のパーティションに自動的に分散されます
- きめ細かなスループット制御: 従来の仮想コアの 1/100 の小さな増分単位で拡張
- サーバーレス オプション: 可変ワークロードの従量課金制の価格
- マルチモデルのサポート: ドキュメント、キー値、グラフ、列ファミリのデータ モデルのネイティブ サポート
Azure DocumentDB (スケールアップアーキテクチャ)
Azure DocumentDB では、垂直スケーリングと豊富な機能に最適化された 仮想コアベースのモデル を使用します。
- 専用コンピューティング リソース: 専用 CPU、メモリ、ストレージを備えた使い慣れたクラスター層 (M30、M40、M50 以降)
- PostgreSQL 基盤: PostgreSQL の成熟したエコシステムと高度な機能を使用します
- MongoDB の互換性: MongoDB ツールとアプリケーションとの完全なワイヤ プロトコルの互換性
- 高度なインデックス作成: テキスト インデックス、地理空間インデックス、ベクター インデックス、複合インデックスのサポート
機能の比較
次の表に、要件を最も適切に満たすサービスを評価するのに役立つ主要な機能を並べて比較します。
| Azure Cosmos DB | Azure DocumentDB | |
|---|---|---|
| 可用性 SLA | 99.999% (複数リージョン) | 99.995% |
| グローバル配信 | 自動フェールオーバー機能を備えたターンキーソリューションのマルチリージョン対応 | ジオレプリカを使用したリージョン展開 |
| スケーリング モデル | 水平 (RU ベース) | Vertical (仮想コアベース) |
| クエリの複雑さ | ポイント読み取りと単純なクエリ用に最適化 | 高度な集計パイプラインと複雑な結合 |
| MongoDB の互換性 | MongoDB のコア操作 | MongoDB ワイヤ プロトコルと MQL の完全な機能 |
| ベクトル検索 | IVF、HNSW、DiskANN アルゴリズムを使用したネイティブ ベクター データベース | HNSW と IVF の統合 pg_vector サポート |
| AI/RAG アプリケーション | 組み込みのベクター埋め込み、AI エージェント メモリ、セマンティック キャッシュ | RAG およびセマンティック アプリケーションのベクター検索 |
| 価格モデル | 変数 (RU ベース) またはサーバーレス | 予測可能 (コンピューティング + ストレージ) |
| 開発モデル | クラウドネイティブ アプリケーション | MongoDB アプリケーションの移行と開発 |
パフォーマンス特性
各サービスは、基になるアーキテクチャと最適化戦略に基づいて、さまざまなパフォーマンス シナリオに優れています。
Azure Cosmos DB の長所
- 超低待機時間: グローバルに 1 桁ミリ秒の応答時間
- インスタント スケーリング: トラフィックの急増に対するウォームアップ時間がゼロ
- スループットの保証: SLA に基づくパフォーマンス コミットメント
- ポイント読み取りの最適化: ID とパーティション キーによる高速な単一ドキュメント参照
Azure DocumentDB の長所
- クエリのパフォーマンス: 複雑な集計操作と分析クエリ用に最適化
- インデックス作成の柔軟性: 多様なクエリ パターンに対応する高度なインデックス作成戦略
- トランザクションのサポート: MongoDB セマンティクスを使用した ACID トランザクション
- 分析ワークロード: レポートとビジネス インテリジェンスのシナリオに適しています
統合とエコシステム
どちらのサービスも豊富な統合機能を提供しますが、アーキテクチャの基盤に基づいてさまざまなエコシステムやツールと接続します。
Azure Cosmos DB の統合
Azure Cosmos DB には、次の統合があります。
- Azure Synapse Link: 抽出、変換、読み込み (ETL) プロセスのない分析
- Azure Functions: 変更フィード トリガーを使用したサーバーレス コンピューティング
- Power BI: ビジネス インテリジェンス用の直接接続
- Azure AI Services: AI ワークロードと ML ワークロードのネイティブ統合
- Azure OpenAI: 埋め込み世代と RAG アプリケーションのシームレスな統合
- LangChain と AI フレームワーク: 一般的な AI 開発フレームワークの組み込みサポート
- セマンティック カーネル: 永続メモリ システムを使用して AI エージェントを構築するための統合
Azure DocumentDB の統合
Azure DocumentDB には、次の統合があります。
- MongoDB エコシステム: 既存の MongoDB ツールとライブラリとの完全な互換性
- PostgreSQL 拡張機能: 豊富な PostgreSQL 拡張機能エコシステムへのアクセス
- Azure サービス: Azure 監視、セキュリティ、およびネットワーク サービスとの統合
- オープン ソース: MIT ライセンスを使用してオープンソースの DocumentDB エンジンを基に構築
移行に関する考慮事項
サービス間の移動を評価する場合は、アプリケーションの現在のアーキテクチャ、パフォーマンス要件、将来の成長計画を検討してください。
Azure Cosmos DB への移行
現在のアプリケーションが次の場合は、Azure Cosmos DB を検討してください。
- 即時スケーリングを必要とする予測不可能なトラフィック パターンが発生する
- ユーザーの近接性をグローバルに分散する必要がある
- ドキュメント参照に重点を置いた単純なクエリ パターンがある
- 低待機時間のパフォーマンスが保証されている必要があります
Azure DocumentDB への移行
現在のアプリケーションが次の場合は、Azure DocumentDB を検討してください。
- 複雑な MongoDB クエリと集計パイプラインを使用する
- 高度なインデックス作成とクエリの最適化が必要
- PostgreSQL の成熟した機能セットの利点
- 予測可能な仮想コアベースの価格が必要
作業の開始
どちらのサービスでも最初のステップを実行するのは簡単で、体験をサポートするための包括的なリソースが用意されています。 どちらのサービスも、移行を成功させるために役立つ包括的な移行ツールとサポートを提供します。
- 評価ツール: 現在のワークロードと要件を評価する
- 移行ユーティリティ: データとアプリケーションの移行のためのネイティブ ツール
- ドキュメントとサンプル: 両方のサービスの広範なリソース
- サポート オプション: 移行体験を支援する Azure サポート プラン