Níveis de consistência do Azure Cosmos DB e da 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 utilizadores configurem as seguintes garantias de consistência: uma preocupação de escrita, 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 pretendido.

Ao utilizar a API do Azure Cosmos DB para MongoDB, o controlador mongoDB trata a região de escrita como a réplica primária e todas as outras regiões são réplicas de leitura. Pode escolher a região associada à sua conta do Azure Cosmos DB como réplica primária.

Nota

O modelo de consistência predefinido do Azure Cosmos DB é sessão. A sessão é um modelo de consistência centrado no cliente que não é suportado nativamente pelo Cassandra ou pelo MongoDB. Para obter mais informações sobre o modelo de consistência a escolher, veja Níveis de consistência no Azure Cosmos DB

Ao utilizar a API do Azure Cosmos DB para MongoDB:

  • A preocupação com a escrita é mapeada para o nível de consistência predefinido configurado na sua conta do Azure Cosmos DB.

  • O Azure Cosmos DB irá mapear dinamicamente a preocupação de leitura especificada pelo controlador de cliente do MongoDB para um dos níveis de consistência do Azure Cosmos DB configurados dinamicamente num pedido de leitura.

  • Pode anotar uma região específica associada à sua conta do Azure Cosmos DB como "Primária" ao tornar a região como a primeira região gravável.

Mapear os níveis de consistência

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

Mapeamento de modelos de consistência do MongoDB

Se a sua conta do Azure Cosmos DB estiver configurada com um nível de consistência diferente da consistência forte, pode descobrir a probabilidade de os seus clientes obterem leituras fortes e consistentes para as suas cargas de trabalho ao observar a métrica Estagnação Limitada Probabilisticamente (PBS). Esta métrica é exposta no portal do Azure, para saber mais, veja Monitorizar a métrica De Estagnação Limitada Probabilisticamente (PBS).

A estagnação limitada probabilística mostra como a consistência eventual é eventual. Esta métrica fornece uma visão da frequência com que pode obter uma consistência mais forte do que o nível de consistência que configurou atualmente na sua conta do Azure Cosmos DB. Por outras palavras, pode ver a probabilidade (medida em milissegundos) de obter leituras fortemente consistentes para uma combinação de regiões de escrita e leitura.

Passos seguintes

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