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

ОБЛАСТЬ ПРИМЕНЕНИЯ: API Azure Cosmos DB для MongoDB

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

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

Примечание

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

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

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

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

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

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

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

MongoDB consistency model mapping

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

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

Дальнейшие действия

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