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 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 a la recuperación de la tabla

Una tabla borrada siempre usa la duración del período de viaje que estaba vigente en el momento de la eliminación de la tabla.

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.

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:

Table ID was created at time which is
before its allowed time travel interval timestamp. 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 borrada deletedTableID en otra tabla restoredTable, dentro del mismo conjunto de datos myDatasetID:

    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?