Compartir a través de


Descripción de las escrituras en varias regiones en Azure Cosmos DB

SE APLICA A: NoSQL MongoDB Cassandra Gremlin Table

La mejor manera de lograr un tiempo de inactividad cercano a cero en un escenario de interrupción parcial o total en el que no es necesario garantizar la coherencia de las lecturas es configurar la cuenta para escrituras en varias regiones. En este artículo se describen los conceptos clave que se deben tener en cuenta al configurar una cuenta de escritura en varias regiones.

Región del centro de conectividad

En una cuenta de base de datos de escritura en varias regiones con dos o más regiones, la primera región en la que se creó la cuenta es la denominada región "central". Todas las demás regiones que se agregan a la cuenta se denominan regiones "satélite". Si la región central se quita de la cuenta, la siguiente región, en el orden en que se agregaron, se elige automáticamente como región central.

Las escrituras que llegan a las regiones satélite se confirman en cuórum en la región local y, después, se envían a la región central para resolución de conflictos, de forma asincrónica. Una vez que una escritura va a la región central y se resuelve el conflicto, se convierte en una escritura "confirmada". Hasta entonces, se denomina escritura "provisional" o escritura "sin confirmar". Cualquier escritura atendida desde la región central se convierte inmediatamente en una escritura confirmada.

Descripción de las marcas de tiempo

Una de las principales diferencias en una cuenta de escritura en varias regiones es la presencia de dos valores de marca de tiempo de servidor asociados a cada entidad. La primera es la época del servidor en la que se escribió la entidad en esa región. Esta marca de tiempo está disponible en cuentas de escritura de una sola región y escritura en varias regiones. El segundo valor de marca de tiempo del servidor está asociado a la época en la que se confirmó la ausencia de un conflicto o el conflicto se resolvió en la región central. Una escritura confirmada o en conflicto resuelta tiene asignada una marca de tiempo de resolución de conflictos (crts), mientras que una escritura no confirmada o provisional no tiene crts. El servidor establece dos marcas de tiempo en Cosmos DB. La principal diferencia es si la configuración de región de la cuenta es de escritura única o escritura múltiple.

Marca de tiempo Significado Cuando se expone
_ts La época del servidor en la que se escribió la entidad. Siempre expuesto por todas las API de lectura y consulta.
crts La época en la que se resolvió el conflicto de escritura múltiple o la ausencia de un conflicto se confirmó. Para la configuración de la región de escritura múltiple, esta marca de tiempo define el orden de los cambios para la fuente de cambios:

  • Se usa para buscar la hora de inicio de las solicitudes de fuente de cambios
  • Se usa como criterio de ordenación para la respuesta de fuente de cambios.
Se expone en respuesta a las solicitudes de fuente de cambios y solo cuando la solicitud habilita "Nuevo modelo de conexión". Este es el valor predeterminado del modo de fuente de cambios Todas las versiones y elimina.

Pasos siguientes

A continuación, puede leer los siguientes artículos: