Utilizzare la cronologia delle modifiche

La cronologia delle modifiche di BigQuery consente di monitorare la cronologia delle modifiche a una tabella BigQuery. Puoi utilizzare le funzioni GoogleSQL per visualizzare tipi specifici di modifiche apportate durante un intervallo di tempo specificato, in modo da poter elaborare le modifiche incrementali apportate a una tabella. Comprendere le modifiche apportate a una tabella può aiutarti a eseguire operazioni come la manutenzione incrementale di una replica della tabella al di fuori di BigQuery, evitando copie costose.

Autorizzazioni obbligatorie

Per visualizzare la cronologia delle modifiche di una tabella, devi disporre dell'autorizzazione bigquery.tables.getData per la tabella. I seguenti ruoli IAM (Identity and Access Management) predefiniti includono questa autorizzazione:

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

Se una tabella ha o ha avuto policy di accesso a livello di riga, solo un amministratore della tabella può accedere ai dati storici della tabella. L'autorizzazione bigquery.rowAccessPolicies.overrideTimeTravelRestrictions è obbligatoria nella tabella ed è inclusa nel ruolo IAM roles/bigquery.admin predefinito.

Se una tabella ha la sicurezza a livello di colonna, puoi visualizzare la cronologia delle modifiche solo per le colonne a cui hai accesso.

Funzioni della cronologia delle modifiche

Puoi utilizzare le seguenti funzioni per comprendere la cronologia delle modifiche di una tabella:

Prezzi e costi

La chiamata alle funzioni della cronologia delle modifiche comporta costi di calcolo di BigQuery. Le funzioni APPENDS e CHANGES richiedono l'elaborazione di tutti i dati scritti nella tabella nell'intervallo di tempo specificato. Questa elaborazione si applica a tutte le scritture, incluse le operazioni di accodamento e mutazione. L'impostazione dell'opzione enable_change_history di una tabella su FALSE non riduce i dati elaborati da APPENDS.

Quando imposti l'opzione enable_change_history su una tabella su TRUE per utilizzare la funzione CHANGES, BigQuery archivia i metadati delle modifiche alla tabella. Questi metadati archiviati comportano costi di archiviazione di BigQuery e costi di calcolo di BigQuery aggiuntivi. L'importo fatturato dipende dal numero e dal tipo di modifiche apportate alla tabella ed è in genere di piccola entità. Le tabelle con molte operazioni di modifica, in particolare eliminazioni di grandi dimensioni, sono quelle che più probabilmente comportano costi notevoli.