Retención de datos con viajes en el tiempo y seguridad ante fallas
En este documento se describe la retención de datos viajes en el tiempo y segura para fallas de los conjuntos de datos. Durante los períodos de viaje en el tiempo y a prueba de fallas, los datos que cambiaste o borraste en cualquier tabla del conjunto de datos seguirán almacenados en caso de que necesites recuperarlos.
Viaje en el tiempo
Puedes acceder a los datos desde cualquier punto dentro del período de viaje en el tiempo, que abarca los últimos siete días de forma predeterminada. El viaje en el tiempo te permite consultar datos actualizados o borrados y restablecer una tabla o un conjunto de datos que se borró o una tabla que venció.
Configura el período de viaje en el tiempo
Puedes configurar la duración del período de viaje en el tiempo, desde un mínimo de dos días hasta un máximo de siete días. El valor predeterminado es siete días. Establece el período de viaje en el tiempo a nivel del conjunto de datos, que luego se aplica a todas las tablas dentro del conjunto de datos.
Puedes configurar el período de viaje para que sea más largo en los casos en los que sea importante tener más tiempo para recuperar los datos actualizados o borrados y para que sea más corto cuando no sea necesario. Usar un período de viaje en el tiempo más corto te permite ahorrar en costos de almacenamiento cuando usas el modelo de facturación de almacenamiento físico. Estos ahorros no se aplican cuando se usa el modelo de facturación de almacenamiento lógico.
Para obtener más información sobre cómo el modelo de facturación de almacenamiento afecta el costo, consulta Facturación.
Cómo el período de viaje en el tiempo afecta la recuperación de la tabla y el conjunto de datos
Una tabla o un conjunto de datos borrados usa la duración del período de viaje que estaba vigente en el momento de la eliminación.
Por ejemplo, si tienes una duración de período de dos días y, luego, aumenta la duración a siete días, las tablas borradas antes de ese cambio solo se podrán recuperar durante dos días. Del mismo modo, si tienes una duración de período de cinco días y reduces esa duración a tres días, cualquier tabla que se haya borrado antes del cambio se podrá recuperar durante cinco días.
Debido a que los períodos de viaje en el tiempo se establecen a nivel del conjunto de datos, no puedes cambiar el período de viaje en el tiempo de un conjunto de datos borrado hasta que se recupere.
Si reduces la duración del período de viaje en el tiempo, borra una tabla y, luego, te das cuenta de que necesitas un período más largo de capacidad de recuperación de esos datos, puedes crear una instantánea de la tabla desde un momento anterior a la eliminación de tablas. Debes hacerlo mientras la tabla borrada aún se puede recuperar. Para obtener más información, consulta Crea una instantánea de tabla mediante viajes en el tiempo.
Especifica un período de viaje en el tiempo
Puedes usar la consola de Google Cloud, la herramienta de línea de comandos de bq o la API de BigQuery para especificar el período de tiempo de un conjunto de datos.
A fin de obtener instrucciones para especificar el período de viaje de un conjunto de datos nuevo, consulta Crea conjuntos de datos.
Para obtener instrucciones sobre cómo actualizar el período de viaje actual de un conjunto de datos existente, consulta Actualiza los períodos del viaje en el tiempo.
Si la marca de tiempo especifica un período fuera del período de viaje o antes de que se cree la tabla, la consulta fallará y mostrará un error como el siguiente:
TableID
was created at time which is before its allowed time travel intervaltimestamp
. Creation time:timestamp
Viaje en el tiempo y acceso a nivel de fila
Si una tabla tiene o tuvo políticas de acceso a nivel de fila, solo un administrador de tabla puede acceder a los datos históricos de la tabla.
Se necesita el siguiente permiso de Identity and Access Management (IAM):
Permiso | Recurso |
---|---|
bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
|
La tabla a cuyos datos históricos se accede |
El siguiente rol de BigQuery proporciona el permiso necesario:
Función | Recurso |
---|---|
roles/bigquery.admin
|
La tabla a cuyos datos históricos se accede |
El permiso bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
no se puede agregar a un rol personalizado.
Ejecuta el siguiente comando para obtener el tiempo de época equivalente de Unix:
date -d '2023-08-04 16:00:34.456789Z' +%s000
Reemplaza la hora de UNIX
1691164834000
que se recibió del comando anterior en la herramienta de línea de comandos de bq. Ejecuta el siguiente comando para restablecer una copia de la tabla borradadeletedTableID
en otra tablarestoredTable
, dentro del mismo conjunto de datosmyDatasetID
:bq cp myProjectID:myDatasetID.deletedTableID@1691164834000 myProjectID:myDatasetID.restoredTable
Seguridad ante fallas
BigQuery proporciona un período a prueba de fallas. Durante el período a prueba de fallas, los datos borrados se conservan de forma automática durante siete días adicionales después del período de viaje en el tiempo, a fin de que los datos estén disponibles para la recuperación de emergencia. Los datos se pueden recuperar a nivel de la tabla. Los datos se recuperan para una tabla desde el momento representado por la marca de tiempo de cuándo se borró esa tabla. El período a prueba de fallas no se puede configurar.
No puedes consultar ni recuperar datos directamente en un almacenamiento a prueba de fallas. Para recuperar datos del almacenamiento a prueba de fallas, comunícate con Atención al cliente de Cloud.
Facturación
Cuando configuras tu modelo de facturación de almacenamiento para usar bytes físicos, los costos totales de almacenamiento activo que se te facturan incluyen los bytes usados para el almacenamiento de seguridad ante fallas y viaje en el tiempo. Si configuras tu modelo de facturación de almacenamiento para usar bytes lógicos, los costos totales de almacenamiento por los que se te factura no incluyen los bytes usados para el viaje en el tiempo o el almacenamiento a prueba de fallas. Puedes configurar la ventana de viaje en el tiempo para balancear los costos de almacenamiento con tus necesidades de retención de datos.
Si usas almacenamiento físico, puedes ver los bytes usados por viaje en el tiempo y a prueba de fallas si observasTIME_TRAVEL_PHYSICAL_BYTES
yFAIL_SAFE_PHYSICAL_BYTES
columnas en laTABLE_STORAGE
yTABLE_STORAGE_BY_ORGANIZATION
vistas.
Limitaciones
- La función retroactiva solo proporciona acceso a los datos históricos durante el período de viaje. A fin de conservar los datos de la tabla para fines que no sean de emergencia durante más tiempo que el período de viaje en el tiempo, usa las instantáneas de tabla.
- Si una tabla tiene o tuvo políticas de acceso a nivel de fila, solo los administradores de la tabla pueden usar el viaje en el tiempo. Para obtener más información, consulta Viaje en el tiempo y acceso a nivel de fila.
- El viaje en el tiempo no restablece los metadatos de las tablas.
¿Qué sigue?
- Aprende a consultar y recuperar datos de viajes en el tiempo.
- Obtén más información sobre las instantáneas de tablas.