Azure Cosmos DB と MongoDB 用 API の整合性レベル

適用対象: MongoDB

ネイティブ MongoDB は、Azure Cosmos DB とは異なり、整合性の保証がネイティブに正確に定義されていません。 代わりに、ネイティブ MongoDB では、必要な整合性レベルを実現するためにプライマリまたはセカンダリ レプリカのいずれかを読み取り操作の対象とする、書き込み保証、読み込み保証、isMaster ディレクティブの整合性保証を設定することをユーザーに許可しています。

MongoDB で Azure Cosmos DB の API を使用する場合、MongoDB ドライバーではお使いの書き込みリージョンをプライマリ レプリカとして扱い、その他のすべてのリージョンを読み取りレプリカとして扱います。 お使いの Azure Cosmos DB アカウントと関連付けられているどのリージョンをプライマリ レプリカとするかは、選択することが可能です。

注意

Azure Cosmos DB の既定の整合性モデルはセッションです。 セッションは、Cassandra や MongoDB ではネイティブにサポートされていない、クライアント中心の整合性モデルです。 どの整合性モデルを選択するかの詳細については、「Azure Cosmos DB の整合性レベル」を参照してください

MongoDB で Azure Cosmos DB の API を使用する場合:

  • 書き込み保証は、お使いの Azure Cosmos DB アカウントに構成された既定の整合性レベルにマップされます。

  • Azure Cosmos DB は、MongoDB クライアント ドライバーによって指定された読み込み保証を、読み取り要求に動的に構成された Azure Cosmos DB 整合性レベルの 1 つに動的にマップします。

  • お使いの Azure Cosmos DB アカウントに関連付けられた特定のリージョンを最初の書き込み可能なリージョンとすることによって "Primary" と注釈を付けることができます。

整合性レベルのマッピング

次の表では、Azure Cosmos DB の MongoDB 用 API を使用する場合に、ネイティブ MongoDB 書き込み/読み込み保証が Azure Cosmos DB 整合性レベルにどのようにマップされるかを示しています。

MongoDB の整合性モデル マッピング

Azure Cosmos DB アカウントが、強固な整合性以外の任意の整合性レベルで構成されている場合、"確率論的有界整合性制約" (PBS) メトリックを調べることによって、ワークロードの厳密な整合性を持つ読み取りをクライアントが取得する確率を調べることができます。 このメトリックは、Azure portal で公開されます。詳しくは、「確率的有界整合性制約 (PBS) メトリックを監視する」をご覧ください。

確率論的有界整合性制約は、最終的な整合性が、どれほど最終的であるかを示します。 このメトリックでは、Azure Cosmos DB アカウントで現在構成されている整合性レベルより強力な整合性をどのくらいの頻度で得られるかについての分析情報が提供されます。 つまり、書き込みと読み取りのリージョンの組み合わせに対して厳密な整合性の読み取りを取得する確率 (ミリ秒で測定) を表示できます。

次のステップ

Azure Cosmos DB でのグローバル配信と整合性レベルについて学習します。