Marca de tiempo restaurable más reciente para cuentas de Azure Cosmos DB en modo de copia de seguridad continua
SE APLICA A: NoSQL MongoDB Gremlin Table
Azure Cosmos DB ofrece una API para obtener la marca de tiempo restaurable más reciente de un contenedor. Esta API está disponible para cuentas que tienen habilitado el modo de copia de seguridad continua. La marca de tiempo restaurable más reciente representa la marca de tiempo más reciente en formato UTC hasta la que se realizó una copia de seguridad de los datos correctamente. Con esta API, puede obtener la marca de tiempo restaurable para desencadenar la restauración de cuentas activas o supervisar que se estén creando copias de seguridad de los datos a su debido tiempo.
Esta API también toma la ubicación de la cuenta como un parámetro de entrada y devuelve la marca de tiempo restaurable más reciente para el contenedor determinado en esta ubicación. Si existe una cuenta en varias ubicaciones, la marca de tiempo restaurable más reciente de un contenedor que está en distintas ubicaciones podría ser diferente, porque las copias de seguridad de cada ubicación se realizan de forma independiente.
De forma predeterminada, esta API funciona únicamente a nivel de contenedor, pero se puede ampliar fácilmente para que funcione a nivel de base de datos o cuenta. Este artículo ayuda a comprender la semántica de la API, cómo se calcula y posibles casos de uso. Para más información, consulte cómo obtener la marca de tiempo restaurable más reciente para cuentas de la API para NoSQL, MongoDB, Table y Gremlin.
Casos de uso
La marca de tiempo restaurable más reciente se puede utilizar en los siguientes casos de uso:
Puede obtener la marca de tiempo restaurable más reciente de un contenedor, una base de datos o una cuenta y usarla para desencadenar su restauración. Esta marca de tiempo representa que se realizó correctamente una copia de seguridad de todos los datos del recurso especificado o de todos sus recursos subyacentes.
Puede usar esta API para confirmar que se realizó correctamente una copia de seguridad de los datos antes de eliminar la cuenta. Si la marca de tiempo devuelta por esta API es menor que la marca de tiempo de la última operación de escritura, significa que hay datos de los que aún no se ha realizado una copia de seguridad. En tal caso, debe llamar a esta API hasta que la marca de tiempo sea igual o mayor que la marca de tiempo de la última operación de escritura. Si una cuenta existe en varias ubicaciones, debe obtener la marca de tiempo restaurable más reciente en todas las ubicaciones para asegurarse de que se ha realizado una copia de seguridad de los datos en todas las regiones antes de eliminar la cuenta.
Puede usar esta API para supervisar que se estén realizando copias de seguridad de los datos a su debido tiempo. Esta marca de tiempo suele estar a solo algunos cientos de segundos de la marca de tiempo actual, aunque a veces puede diferir en más.
Semántica
La marca de tiempo restaurada más reciente para un contenedor es la marca de tiempo mínima hasta la que se realizaron copias de seguridad de todas sus particiones en una ubicación. Esta API calcula la marca de tiempo restaurable más reciente recuperando la marca de tiempo de la copia de seguridad más reciente de cada partición del contenedor en una ubicación, y devuelve la marca de tiempo mínima de todas estas marcas de tiempo. Si se crea una copia de seguridad de los datos de todas sus particiones y no se han escrito nuevos datos en esas particiones, devuelve el máximo de la marca de tiempo actual y la marca de tiempo de la última copia de seguridad de los datos.
Si todavía no se ha creado ninguna copia de seguridad de una partición, pero tiene datos de los que debe crearse una copia de seguridad, devolverá la marca de tiempo mínima de Unix (época), es decir, 1 de enero de 1970, media noche UTC (hora universal coordinada). En estos casos, el usuario debe volver a intentarlo hasta que dé una marca de tiempo mayor que la marca de tiempo de la época.
Cálculo de la marca de tiempo restaurable más reciente
En el ejemplo siguiente, se describe el resultado esperado de la API de la marca de tiempo restaurable más reciente en diferentes escenarios. En cada escenario hablaremos sobre el estado actual de la copia de seguridad de los registros de la partición, los datos pendientes de los que debe hacerse una copia de seguridad y de cómo afecta al cálculo de la marca de tiempo restaurable más reciente global de un contenedor.
Supongamos que tenemos una cuenta que existe en dos regiones (Este de EE. UU. y Oeste de EE. UU.). Tenemos el contenedor "cont1", con dos particiones (Partition1, Partition2). Si enviamos una solicitud para obtener la marca de tiempo restaurable más reciente de este contenedor en la marca de tiempo “t3”, la marca de tiempo restaurable más reciente global de este contenedor se calcula de la siguiente manera:
Caso 1: todavía no se ha realizado una copia de seguridad de los datos de todas las particiones
Región Este de EE. UU.:
- Partición 1: hora de la última hora de copia de seguridad = t2, pero tiene más datos de los que debe hacerse una copia de seguridad después de t2.
- Partición 2: hora de la última copia de seguridad = t3 y se ha hecho una copia de seguridad de todos sus datos.
- Marca de tiempo restaurable más reciente = min (t2, t3) = t2
Región Oeste de EE. UU.:
- Partición 1: hora de la última hora de copia de seguridad = t1, pero tiene más datos de los que debe hacerse una copia de seguridad después de t1.
- Partición 2: hora de la última hora de copia de seguridad = t2, pero tiene más datos de los que debe hacerse una copia de seguridad después de t2.
- Marca de tiempo restaurable más reciente = min (t1, t2) = t1
Caso 2: Hay una copia de seguridad de los datos de todas las particiones
Región Este de EE. UU.:
- Partición 1: hora de la última copia de seguridad = t2 y se ha hecho una copia de seguridad de todos sus datos.
- Partición 2: hora de la última copia de seguridad = t3 y se ha hecho una copia de seguridad de todos sus datos.
- Marca de tiempo restaurable más reciente = max (marca de tiempo actual, t2, t3)
Región Oeste de EE. UU.:
- Partición 1: hora de la última copia de seguridad = t3 y se ha hecho una copia de seguridad de todos sus datos.
- Partición 2: hora de la última copia de seguridad = t3 y se ha hecho una copia de seguridad de todos sus datos.
- Marca de tiempo restaurable más reciente = max (marca de tiempo actual, t3, t3)
Caso 3: no hay ninguna copia de seguridad de una o varias particiones
Región Este de EE. UU.:
- Partición 1: aún no se ha realizado ninguna copia de seguridad de registros de esta partición.
- Partición 2: hora de la última copia de seguridad = t3
- Marca de tiempo restaurable más reciente = 1/1/1970 12:00:00 AM
Preguntas más frecuentes
¿Se puede usar esta API para cuentas con copias de seguridad periódicas?
No. Esta API solo se puede usar para las cuentas que están en modo de copia de seguridad continua.
¿Se puede usar esta API para cuentas que se han migrado al modo continuo?
Sí. Esta API se puede usar para una cuenta que se haya aprovisionado con el modo de copia de seguridad continua o que se haya migrado satisfactoriamente a este modo.
¿Cuál es el retraso típico entre la marca de tiempo de la operación de escritura más reciente y la marca de tiempo restaurable más reciente?
Los datos de la copia de seguridad de registros se copian cada 100 segundos. Sin embargo, en casos excepcionales, las copias de seguridad podrían demorarse más de 100 segundos.
¿La marca de tiempo restaurable funciona para recursos eliminados?
No. Solo se aplica a los recursos dinámicos (bases de datos, colecciones o cuenta). Puede obtener la marca de tiempo restaurable para desencadenar la restauración de cuentas activas o supervisar que se estén creando copias de seguridad de los datos a su debido tiempo.