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

APLICA-SE AO: 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 DB tratar como uma 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 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 configurados dinamicamente em uma solicitação de leitura.

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

Mapeamento de 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 for MongoDB:

Mapeamento de 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 (Staleness Probabilisally Bounded). 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 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 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: