Azure Cosmos DB 和 API for MongoDB 的一致性層級

適用於: MongoDB

不同於 Azure Cosmos DB,原生 MongoDB 不會提供精確定義的一致性保證。 相反地,原生 MongoDB 可讓使用者設定下列一致性保證:寫入考量、讀取考量和 isMaster 指示詞,將讀取作業導向至主要或次要複本,以達成所需的一致性層級。

使用 Azure Cosmos DB 的 API for MongoDB 時,MongoDB 驅動程式會將您的寫入區域視為主要複本,而所有其他區域都是讀取複本。 您可以選擇與 Azure Cosmos DB 帳戶相關聯的區域作為主要複本。

注意

Azure Cosmos DB 的預設一致性模型為工作階段。 工作階段是以用戶端為中心的一致性模型,不是 Cassandra 或 MongoDB 原本就支援的模型。 如需要選擇哪個一致性模型的詳細資訊,請參閱 Azure Cosmos DB 中的一致性層級

使用 Azure Cosmos DB 的 API for MongoDB 時:

  • 寫入考量會對應到 Azure Cosmos DB 帳戶上設定的預設一致性層級。

  • Azure Cosmos DB 會以動態方式將 MongoDB 用戶端驅動程式所指定的讀取考量,對應到在讀取要求上動態設定的其中一個 Azure Cosmos DB 一致性層級。

  • 您可以將與 Azure Cosmos DB 帳戶相關聯的特定區域標註為「主要」,方法是將該區域設為第一個可寫入的區域。

對應一致性層級

下表說明使用 Azure Cosmos DB 的 API for MongoDB 時,原生 MongoDB 寫入/讀取考量如何對應到 Azure Cosmos DB 一致性層級:

MongoDB consistency model mapping

如果您的 Azure Cosmos DB 帳戶設定了強式一致性以外的一致性層級,您可以查看「機率性限定過期」(PBS) 計量,找出用戶端可能針對您的工作負載取得強式且一致性讀取的機率。 此計量會在 Azure 入口網站公開,若要深入了解,請參閱監視機率限定過期 (PBS) 計量

機率性限定過期會顯示您最終一致性的最終結果。 此計量提供的見解可讓您了解依據目前已在 Azure Cosmos DB 帳戶上設定的一致性層級,可取得更強式一致性的頻率為何。 換句話說,您可以看到針對寫入和讀取區域的組合取得強式一致性讀取的機率 (以毫秒來測量)。

下一步

深入了解 Azure Cosmos DB 的全域散發和一致性層級: