Noções básicas sobre gravações em várias regiões no Azure Cosmos DB
APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela
A melhor maneira de obter um tempo de inatividade quase nulo em um cenário de interrupção parcial ou total, onde a consistência das leituras não precisa ser garantida, é configurar sua conta para gravações em várias regiões. Este artigo aborda os principais conceitos a serem observados ao configurar uma conta de gravação de várias regiões.
Região do hub
Em uma conta de banco de dados de gravação em várias regiões com duas ou mais regiões, a primeira região na qual sua conta foi criada é chamada de região "hub". Todas as outras regiões que são adicionadas à conta são chamadas de regiões "satélite". Se a região do hub for removida da conta, a próxima região, na ordem em que foi adicionada, será escolhida automaticamente como a região do hub.
Todas as gravações que chegam às regiões satélites são confirmadas na região local e, posteriormente, enviadas para a região do Hub para resolução de conflitos, de forma assíncrona. Uma vez que uma gravação vai para a região do hub e é resolvida o conflito, ela se torna uma gravação "confirmada". Até lá, é chamada de escrita "provisória" ou escrita "não confirmada". Qualquer gravação servida a partir da região do hub torna-se imediatamente uma gravação confirmada.
Noções básicas sobre carimbos de data/hora
Uma das principais diferenças em uma conta de gravação de várias regiões é a presença de dois valores de carimbo de data/hora do servidor associados a cada entidade. O primeiro é o momento em que a entidade foi escrita naquela região. Esse carimbo de data/hora está disponível em contas de gravação de região única e de gravação de várias regiões. O segundo valor de carimbo de data/hora do servidor está associado à época em que a ausência de um conflito foi confirmada ou o conflito foi resolvido na região do hub. Uma gravação confirmada ou resolvida por conflito tem um carimbo de data/hora de resolução de conflitos (crts
) atribuído, enquanto uma gravação não confirmada ou provisória não tem crts
. Há dois carimbos de data/hora no Cosmos DB definidos pelo servidor. A principal diferença é se a configuração de região da conta é Single-Write ou Multi-Write.
Carimbo de Data/Hora | Significado | Quando exposto |
---|---|---|
_ts |
A época do servidor em que a entidade foi escrita. | Sempre exposto por todas as APIs de leitura e consulta. |
crts |
A época em que o conflito Multi-Write foi resolvido, ou a ausência de um conflito foi confirmada. Para a configuração de região Multi-Write, este carimbo de data/hora define a ordem das alterações para o Change Feed:
|
Exposto em resposta a solicitações de Change Feed e somente quando "New Wire Model" é ativado pela solicitação. Este é o padrão para Todas as versões e exclui o modo Change Feed. |
Próximos passos
Em seguida, você pode ler os seguintes artigos: