Trabalhe com o histórico de alterações
O histórico de alterações do BigQuery permite-lhe acompanhar o histórico de alterações a uma tabela do BigQuery. Pode usar as funções do GoogleSQL para ver tipos específicos de alterações feitas durante um intervalo de tempo especificado, de modo a poder processar alterações incrementais feitas a uma tabela. Compreender as alterações feitas a uma tabela pode ajudar a realizar ações como manter incrementalmente uma réplica da tabela fora do BigQuery, evitando cópias dispendiosas.
Autorizações necessárias
Para ver o histórico de alterações numa tabela, precisa da bigquery.tables.getDataautorização nessa tabela. As seguintes funções de gestão de identidade e de acesso (IAM) predefinidas incluem esta autorização:
roles/bigquery.dataViewerroles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.admin
Se uma tabela tiver ou tiver tido políticas de acesso ao nível da linha, apenas um administrador da tabela pode aceder aos dados do histórico da tabela. A autorização bigquery.rowAccessPolicies.overrideTimeTravelRestrictions é necessária na tabela e está incluída na roles/bigquery.adminfunção de IAM predefinida.
Se uma tabela tiver segurança ao nível da coluna, só pode ver o histórico de alterações nas colunas às quais tem acesso.
Funções do histórico de alterações
Pode usar as seguintes funções para compreender o histórico de alterações de uma tabela:
APPENDS: devolve todas as linhas anexadas a uma tabela para o intervalo de tempo especificado.As seguintes operações adicionam linhas ao
APPENDShistórico de alterações:CHANGES: devolve todas as linhas que foram alteradas numa tabela para um determinado intervalo de tempo. Para usar a funçãoCHANGESnuma tabela, tem de definir a opçãoenable_change_historyda tabela comoTRUE.As seguintes operações adicionam linhas ao
CHANGEShistórico de alterações:CREATE TABLEDeclaração DDLINSERTInstrução DML- Dados anexados ou alterados como parte de uma
MERGEinstrução DML UPDATEInstrução DMLDELETEInstrução DML- Carregar dados para o BigQuery
- Carregamento de streaming
TRUNCATE TABLEInstrução DML- Tarefas configuradas com um
writeDispositiondeWRITE_TRUNCATE - Eliminações de partições de tabelas individuais
Preços e custos
A invocação de funções do histórico de alterações implica custos de computação do BigQuery.
As funções APPENDS e CHANGES requerem o processamento de todos os dados escritos na tabela dentro do intervalo de tempo especificado. Este processamento aplica-se a todas as escritas, incluindo operações de anexação e mutação.
Definir a opção enable_change_history de uma tabela como FALSE não reduz os dados processados pelo APPENDS.
Quando define a opção enable_change_history numa tabela como TRUE para usar a função CHANGES, o BigQuery armazena metadados de alteração da tabela. Estes metadados armazenados
incorrem em custos de armazenamento do BigQuery
e custos de computação do BigQuery adicionais.
O valor faturado depende do número e do tipo de alterações feitas à tabela e, normalmente, é pequeno. As tabelas com muitas operações de alteração, especialmente eliminações grandes, são as que têm maior probabilidade de incorrer em custos notórios.