Introdução aos snapshots da tabela
Este documento é uma introdução aos snapshots da tabela do BigQuery. Ele é o primeiro de um conjunto de documentos que descreve como trabalhar com snapshots de tabelas do BigQuery, incluindo como criar, restaurar, atualizar, receber informações e consultar snapshots de tabelas Esse conjunto de documentos destina-se a usuários familiarizados com o BigQuery e as tabelas do BigQuery.
Snapshots da tabela
Um snapshot da tabela do BigQuery preserva o conteúdo de uma tabela (chamada de tabela base) em um momento específico. É possível salvar um snapshot de uma tabela atual ou criar um snapshot de uma tabela como estava a qualquer momento nos últimos sete dias. Um snapshot de tabela pode ter uma expiração. Quando tiver passado o período configurado desde a criação do snapshot da tabela, o BigQuery excluirá o snapshot da tabela. É possível consultar um snapshot da tabela da mesma forma que uma tabela padrão. Os snapshots da tabela são somente leitura, mas é possível criar (restaurar) uma tabela padrão a partir de um snapshot da tabela e alterar a tabela restaurada.
Os benefícios do uso de snapshots da tabela incluem:
Manter um registro por mais de sete dias. Com a viagem no tempo do BigQuery, só é possível acessar os dados de uma tabela de, no máximo, sete dias atrás. Com os snapshots da tabela, você pode preservar os dados de uma tabela de um momento específico pelo tempo que quiser.
Minimizar o custo de armazenamento. O BigQuery armazena apenas bytes que são diferentes entre um snapshot e a sua tabela base. Assim, um snapshot da tabela costuma usar menos armazenamento do que uma cópia completa da tabela.
Se você precisar de cópias mutáveis e leves das tabelas, use clones de tabelas.
Controle de acesso para snapshots da tabela
O controle de acesso para snapshots de tabelas é semelhante ao de tabelas. Para mais informações, consulte Controlar o acesso a recursos com o IAM.
Como consultar snapshots da tabela
Consulte os dados de um snapshot da tabela da mesma forma que você consulta outros tipos de tabelas do BigQuery. Saiba mais em Como consultar dados do BigQuery.
Custos de armazenamento
Os custos de armazenamento se aplicam a snapshots de tabela, mas o BigQuery cobra apenas pelos dados em um snapshot ainda não cobrado em outra tabela:
Quando um snapshot da tabela é criado, a princípio não há custo de armazenamento.
Se novos dados forem adicionados à tabela base depois da criação do snapshot da tabela, você não pagará pelo armazenamento desses dados no snapshot da tabela.
Se os dados forem alterados ou excluídos na tabela base que também existe em um snapshot da tabela, serão feitas as seguintes cobranças:
O armazenamento de snapshots da tabela dos dados alterados ou excluídos é cobrado.
Se a tabela base for faturada como armazenamento físico, as cobranças de viagem no tempo e fail-safe não serão cobradas na tabela base. Quando o snapshot é excluído, você é cobrado pela viagem no tempo e fail-safe.
Se houver vários snapshots com os dados alterados ou excluídos, a cobrança será feita em relação ao armazenamento usado pelo snapshot mais antigo.
Quando você copia um snapshot ou clone de tabela na mesma região ou de uma região ou multirregião para outra, uma cópia completa da tabela é criada. Isso gera custos de armazenamento adicionais.
A diferença entre as cobranças do armazenamento da tabela base e do snapshot de tabela é mostrada na imagem a seguir:
Para mais informações, consulte Preços de armazenamento do BigQuery.
Limitações
Um snapshot de tabela precisa estar na mesma região e na mesma organização da tabela base. Se você selecionar um conjunto de dados em uma região diferente, o BigQuery vai criar uma cópia da tabela no conjunto de dados de destino nessa região.
Os snapshots da tabela são somente leitura. Não é possível atualizar os dados em um snapshot de tabela, a menos que você crie uma tabela padrão a partir do snapshot e atualize os dados. Só é possível atualizar os metadados de um snapshot da tabela, por exemplo, descrição, data de validade e política de acesso.
Só é possível capturar um snapshot dos dados de uma tabela como era, no máximo, sete dias atrás, devido ao limite de sete dias para viagens no tempo.
Não é possível tirar um snapshot de uma visualização ou de uma visualização materializada.
Não é possível tirar um snapshot de uma tabela externa.
Não é possível substituir um snapshot da tabela ou de tabela atual ao criar um snapshot da tabela.
Dados no armazenamento otimizado para gravação (buffer de streaming) não são incluídos no snapshot da tabela.
Se você capturar uma tabela com dados em viagem no tempo, eles não serão incluídos no instantâneo da tabela.
Se você capturar uma tabela particionada com uma expiração de partição definida, as informações de expiração da partição não serão retidas no instantâneo. A tabela com snapshot usa a expiração da partição padrão do conjunto de dados de destino. Para reter as informações de expiração da partição, copie a tabela.
Cotas e limites
Saiba mais sobre cotas e limites que se aplicam a snapshots da tabela em Cotas e limites de snapshots da tabela.
A seguir
- Criar um snapshot da tabela.
- Restaurar um snapshot da tabela.
- Atualizar a descrição, a data de validade ou a política de acesso de um snapshot da tabela.
- Criar snapshots mensais de uma tabela usando uma conta de serviço que execute uma consulta programada.
- Automatizar snapshots no nível do conjunto de dados.