Trabajar con el historial de cambios

El historial de cambios de BigQuery te permite hacer un seguimiento del historial de cambios de una tabla de BigQuery. Puedes usar funciones de GoogleSQL para ver tipos de cambios concretos que se han hecho durante un intervalo de tiempo específico, de modo que puedas procesar los cambios incrementales que se han hecho en una tabla. Saber qué cambios se han realizado en una tabla puede ayudarte a hacer cosas como mantener de forma incremental una réplica de una tabla fuera de BigQuery y, al mismo tiempo, evitar copias costosas.

Permisos obligatorios

Para ver el historial de cambios de una tabla, debes tener el permiso bigquery.tables.getData en esa tabla. Los siguientes roles predefinidos de Gestión de Identidades y Accesos (IAM) incluyen este permiso:

  • roles/bigquery.dataViewer
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.admin

Si una tabla tiene o ha tenido políticas de acceso a nivel de fila, solo un administrador de la tabla puede acceder al historial de datos de la tabla. El permiso bigquery.rowAccessPolicies.overrideTimeTravelRestrictions es obligatorio en la tabla y está incluido en el rol de gestión de identidades y accesos predefinido roles/bigquery.admin.

Si una tabla tiene seguridad a nivel de columna, solo puedes ver el historial de cambios de las columnas a las que tienes acceso.

Funciones del historial de cambios

Puedes usar las siguientes funciones para consultar el historial de cambios de una tabla:

Precios y costes

Llamar a funciones del historial de cambios conlleva costes de computación de BigQuery. Las funciones APPENDS y CHANGES requieren que se procesen todos los datos escritos en la tabla dentro del intervalo de tiempo especificado. Este procesamiento se aplica a todas las escrituras, incluidas las operaciones de anexión y mutación. Si se define la enable_change_history opción de una tabla como FALSE, no se reduce la cantidad de datos procesados por APPENDS.

Cuando se define la opción enable_change_history de una tabla como TRUE para usar la función CHANGES, BigQuery almacena los metadatos de los cambios de la tabla. Estos metadatos almacenados conllevan costes de almacenamiento de BigQuery y costes de computación de BigQuery adicionales. El importe facturado depende del número y del tipo de cambios realizados en la tabla y suele ser pequeño. Las tablas que tienen muchas operaciones de cambio, especialmente las eliminaciones de gran tamaño, son las que tienen más probabilidades de incurrir en costes notables.