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:
APPENDS
: devuelve todas las filas añadidas a una tabla en un periodo determinado.Las siguientes operaciones añaden filas al historial de cambios de
APPENDS
:CHANGES
: devuelve todas las filas que han cambiado en una tabla durante un periodo determinado. Para usar la funciónCHANGES
en una tabla, debes definir la opciónenable_change_history
de la tabla enTRUE
.Las siguientes operaciones añaden filas al historial de cambios de
CHANGES
:CREATE TABLE
Declaración de DDLINSERT
Instrucción DML- Datos añadidos o modificados como parte de una
MERGE
declaración de DML UPDATE
Instrucción DMLDELETE
Instrucción DML- Cargar datos en BigQuery
- Ingestión de streaming
TRUNCATE TABLE
Instrucción DML- Tareas configuradas con un
writeDisposition
deWRITE_TRUNCATE
- Eliminaciones de particiones de tablas
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.