Noções básicas sobre gravações de várias regiões no Azure Cosmos DB

APLICA-SE AO: NoSQL MongoDB Cassandra Gremlin Table

A melhor maneira de obter um tempo de inatividade quase zero em um cenário de interrupção parcial ou total em que a consistência das leituras não precisa ser garantida é configurar sua conta para gravações de várias regiões. Este artigo aborda os principais conceitos sobre os quais deve-se estar ciente 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 de várias regiões com duas ou mais regiões, a primeira região em que sua conta foi criada é chamada de região de "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 as regiões foram adicionadas, será escolhida automaticamente como a região do hub.

Todas as gravações que chegam em regiões satélites são confirmadas em quorum na região local e posteriormente enviadas para a região do Hub para resolução de conflitos, de forma assíncrona. Depois que uma gravação vai para a região do hub e obtém os conflitos resolvidos, ela se torna uma gravação "confirmada". Até lá, ela é chamada de gravação "provisória" ou gravação "não confirmada". Qualquer gravação fornecida da região do hub imediatamente se torna uma gravação confirmada.

Conceitos básicos sobre carimbos de data/hora

Uma das principais diferenças das contas 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. A primeira é a época do servidor na qual a entidade foi gravada nessa região. Este 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 ao horário da época em que a ausência de um conflito foi confirmada ou em que o conflito foi resolvido na região do hub. Uma gravação confirmada ou resolvida por conflitos 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 da região da conta é gravação única ou gravação múltipla.

Timestamp Significado Quando exposto
_ts A época do servidor na qual a entidade foi gravada. Sempre exposto por todas as APIs de leitura e consulta.
crts A época em que o conflito de várias gravações foi resolvido ou a ausência de um conflito foi confirmada. Para a configuração de região de várias gravações, este carimbo de data/hora define a ordem das alterações para backup contínuo e feed de alterações:

  • Usado para localizar a hora de início das solicitações do feed de alterações
  • Usado como ordem de classificação na resposta do feed de alterações.
  • Usado para ordenar as gravações para backup contínuo
  • O backup de log captura apenas gravações confirmadas ou resolvidas por conflitos e, portanto, o resultado da restauração de um backup contínuo retorna apenas gravações confirmadas.
Exposto em resposta a solicitações do feed de alterações e somente quando "Novo Modelo de Fio" é habilitado pela solicitação. Este é o padrão para todas as versões e exclusões do modo do feed de alterações.

Próximas etapas

Em seguida, você poderá ler os artigos a seguir: