Поделиться через


Уровни согласованности для Azure Cosmos DB и API для MongoDB

Область применения: MongoDB

В отличие от Azure Cosmos DB, MongoDB изначально не предоставляет точно определенные гарантии согласованности. Вместо этого MongoDB позволяет пользователям настраивать следующие гарантии согласованности: гарантия записи, гарантия чтения и директива isMaster для направления операций чтения к первичным или вторичным репликам с целью достижения требуемого уровня согласованности.

При использовании API службы Azure Cosmos DB для MongoDB драйвер MongoDB считает регион записи первичной репликой, а все остальные регионы — репликой чтения. Вы можете выбрать регион, связанный с учетной записью Azure Cosmos DB, в качестве основной реплики.

Примечание.

По умолчанию для Azure Cosmos DB используется модель согласованности Session. Session — это ориентированная на клиента модель согласованности, которая изначально не поддерживается ни в Cassandra, ни в MongoDB. Дополнительные сведения о выборе модели согласованности см. в статье Уровни согласованности в Azure Cosmos DB

При использовании API службы Azure Cosmos DB для MongoDB:

  • Проблема записи сопоставляется с уровнем согласованности по умолчанию, настроенным в учетной записи Azure Cosmos DB.

  • Azure Cosmos DB динамически сопоставляет гарантию чтения, указанную драйвером клиента MongoDB, с одним из уровней согласованности Azure Cosmos DB, динамически настроенных для запроса на чтение.

  • Вы можете учесть определенный регион, связанный с учетной записью Azure Cosmos DB как основной, сделав регион первым записываемым регионом.

Сопоставление уровней согласованности

В следующей таблице показано, как собственные проблемы записи и чтения MongoDB сопоставляются с уровнями согласованности Azure Cosmos DB при использовании API Azure Cosmos DB для MongoDB:

Сопоставление модели согласованности MongoDB

Если ваша учетная запись Azure Cosmos DB настроена на уровне согласованности, отличном от строгой согласованности, вы можете узнать вероятность того, что клиенты могут получать надежные и согласованные операции чтения для рабочих нагрузок, глядя на метрику вероятностно привязанной к нестарежности (PBS). Эта метрика предоставляется на портале Azure. Дополнительные сведения см. в разделе Мониторинг метрики вероятностного ограниченного устаревания (PBS).

Вероятностное ограниченное устаревание показывает степень итоговой согласованности. Эта метрика содержит сведения о том, как часто можно получить более надежную согласованность, чем уровень согласованности, настроенный в настоящее время в учетной записи Azure Cosmos DB. Другими словами, вы можете увидеть вероятность (в миллисекундах) выполнения строго согласованных операций чтения для комбинации регионов записи и чтения.

Следующие шаги

Узнайте больше о глобальном распределении и уровнях согласованности в Azure Cosmos DB: