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

APLICA-SE A: API do Azure Cosmos DB para 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 a fim de atingir 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 como réplica de leitura. Você pode escolher qual região associada à sua conta do Azure Cosmos tratar como réplica primária.

Observação

No Azure Cosmos DB, o modelo padrão é a consistência de Sessão. A consistência de Sessão é um modelo centrado no cliente que não tem suporte nativo do Cassandra ou do MongoDB. Para saber mais sobre qual modelo de consistência escolher, confira 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.

  • 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 configurados dinamicamente em uma solicitação de leitura.

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

Mapeamento de níveis de consistência

A seguinte tabela 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 ao usar a API do Azure Cosmos DB para MongoDB:

Mapeamento de modelo de consistência do MongoDB

Se a sua conta do Azure Cosmos estiver configurada com um nível de consistência diferente da forte, você talvez obtenha a probabilidade de seus clientes receberem leituras fortes e consistentes para suas cargas de trabalho observando a métrica PBS Probabilistically Bounded Staleness. Essa métrica é exposta no portal do Azure, para obter mais informações, consulte métrica Monitor Probabilistic Bounded Staleness (PBS).

A desatualização limitada probabilística mostra o quão eventual é a sua coerência eventual. Essa métrica fornece uma percepção da frequência com que você pode obter uma coerência mais forte que o nível configurado atualmente na conta do Azure Cosmos. Em outras palavras, você pode ver a probabilidade (medida em milissegundos) de obter leituras fortemente consistentes para uma combinação de regiões de gravação e leitura.

Próximas etapas

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