Partilhar via


Níveis de consistência para o Azure Cosmos DB e a API para MongoDB

APLICA-SE A: MongoDB

Ao contrário do Azure Cosmos DB, o MongoDB nativo não fornece garantias de consistência definidas com precisão. Em vez disso, o MongoDB nativo permite que os usuários configurem as seguintes garantias de consistência: uma preocupação de gravação, uma preocupação de leitura e a diretiva isMaster - para direcionar as operações de leitura para réplicas primárias ou secundárias para alcançar o nível de consistência desejado.

Ao usar a API do Azure Cosmos DB para MongoDB, o driver do MongoDB trata sua região de gravação como a réplica primária e todas as outras regiões são réplica de leitura. Você pode escolher qual região associada à sua conta do Azure Cosmos DB como uma réplica primária.

Nota

O modelo de consistência padrão para o Azure Cosmos DB é Session. Session é um modelo de consistência centrado no cliente que não é suportado nativamente por Cassandra ou MongoDB. Para obter mais informações sobre qual modelo de consistência escolher, consulte Níveis de consistência no Azure Cosmos DB

Ao usar a API do Azure Cosmos DB para MongoDB:

  • A preocupação de gravação é mapeada para o nível de consistência padrão configurado em sua conta do Azure Cosmos DB.

  • O Azure Cosmos DB mapeará dinamicamente a preocupação de leitura especificada pelo driver do cliente MongoDB para um dos níveis de consistência do Azure Cosmos DB configurado dinamicamente em uma solicitação de leitura.

  • Você pode anotar uma região específica associada à sua conta do Azure Cosmos DB como "Principal" tornando a região como a primeira região gravável.

Mapear os níveis de consistência

A tabela a seguir ilustra como as preocupações nativas de gravação/leitura do MongoDB são mapeadas para os níveis de consistência do Azure Cosmos DB ao usar a API do Azure Cosmos DB para MongoDB:

Mapeamento do modelo de consistência do MongoDB

Se sua conta do Azure Cosmos DB estiver configurada com um nível de consistência diferente da consistência forte, você poderá descobrir a probabilidade de que seus clientes obtenham leituras fortes e consistentes para suas cargas de trabalho examinando a métrica PBS (Probabilistically Bounded Staleness). Essa métrica é exposta no portal do Azure, para saber mais, consulte Monitorar a métrica PBS (Probabilistically Bounded Staleness).

O obscuro probabilístico mostra o quão eventual é a sua eventual consistência. Essa métrica fornece uma visão sobre com que frequência você pode obter uma consistência mais forte do que o nível de consistência que você configurou atualmente em sua conta do Azure Cosmos DB. Em outras palavras, você pode ver a probabilidade (medida em milissegundos) de obter leituras fortemente consistentes para uma combinação de regiões de escrita e leitura.

Próximos passos

Saiba mais sobre a distribuição global e os níveis de consistência do Azure Cosmos DB: