Trabalhar com o histórico de alterações
O histórico de alterações do BigQuery permite rastrear o histórico de alterações em uma tabela do BigQuery. Você pode usar as funções do GoogleSQL para ver tipos específicos de alterações feitas durante um período específico. Dessa forma, é possível processar alterações incrementais feitas em uma tabela. Entender quais alterações foram feitas em uma tabela pode ajudar você a realizar tarefas como manter uma réplica de tabela fora do BigQuery e evitar cópias caras.
Permissões necessárias
Para ver o histórico de alterações em uma tabela, é necessário ter a permissão bigquery.tables.getData
nela. Os seguintes papéis predefinidos do Identity and Access Management (IAM)
incluem essa permissão:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Se uma tabela tiver ou teve
políticas de acesso no nível da linha, somente um
administrador poderá acessar os dados históricos da tabela. A permissão bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
é necessária na tabela e está incluída no papel predefinido do IAM roles/bigquery.admin
.
Se uma tabela tiver segurança no nível da coluna, só será possível ver o histórico de alterações nas colunas a que você tem acesso.
Funções do histórico de alterações
É possível usar as seguintes funções para entender o histórico de alterações de uma tabela:
APPENDS
: retorna todas as linhas anexadas a uma tabela para um determinado período.As seguintes operações adicionam linhas ao histórico de alterações
APPENDS
:CHANGES
: retorna todas as linhas que foram alteradas em uma tabela para um determinado período. Para usar a funçãoCHANGES
em uma tabela, você precisa definir a opçãoenable_change_history
da tabela comoTRUE
.As seguintes operações adicionam linhas ao histórico de alterações
CHANGES
:- Instrução DDL
CREATE TABLE
- Instrução DML
INSERT
- Dados anexados ou alterados como parte de uma instrução DML
MERGE
- Instrução DML
UPDATE
- Instrução DML
DELETE
- Como carregar dados no BigQuery
- Ingestão de streaming
- Instrução DML
TRUNCATE TABLE
- Jobs configurados com
writeDisposition
deWRITE_TRUNCATE
- Exclusões de partições de tabela individuais
- Instrução DDL
Preços e custos
Chamar funções do histórico de alterações gera custos de computação do BigQuery.
Quando você define
a opção enable_change_history
em uma tabela como TRUE
para usar a função CHANGES
,
o BigQuery armazena metadados de alteração de tabela. Esse metadado armazenado
gera custos de armazenamento do BigQuery. O
valor faturado depende do número e do tipo de alterações feitas na tabela, e
costuma ser pequeno. Tabelas com muitas operações de mudança, especialmente grandes
exclusões, têm mais chances de incorrer em custos perceptíveis.