Introdução aos clones de tabelas

Este documento apresenta uma vista geral dos clones de tabelas no BigQuery. Destina-se a utilizadores que conhecem o BigQuery e as tabelas do BigQuery.

Um clone de tabela é uma cópia leve e gravável de outra tabela (denominada tabela base). Só lhe é cobrado o armazenamento de dados no clone da tabela que difere da tabela base. Por isso, inicialmente, não existe nenhum custo de armazenamento para um clone da tabela. Além do modelo de faturação para o armazenamento e de alguns metadados adicionais para a tabela base, um clone de tabela é semelhante a uma tabela padrão. Pode consultá-lo, fazer uma cópia, eliminá-lo, etc.

Os exemplos de utilização comuns para clones de tabelas incluem o seguinte:

  • Criar cópias de tabelas de produção que pode usar para desenvolvimento e testes.
  • Criar sandboxes para os utilizadores gerarem as suas próprias estatísticas e manipulações de dados, sem copiar fisicamente todos os dados de produção. Apenas os dados alterados são faturados.

Depois de criar um clone de uma tabela, este é independente da tabela base. As alterações feitas à tabela base ou ao clone da tabela não são refletidas na outra.

Se precisar de cópias leves e só de leitura das suas tabelas, considere usar instantâneos de tabelas.

Metadados de clonagem de tabelas

Um clone de tabela tem os mesmos metadados que uma tabela padrão, além do seguinte:

  • O projeto, o conjunto de dados e o nome da tabela base do clone da tabela.
  • A hora da operação de clonagem da tabela. Se a viagem no tempo foi usada para criar o clone da tabela, esta é a indicação de tempo da viagem no tempo.

Para mais informações, consulte INFORMATION_SCHEMA.TABLES.

Operações de clonagem de tabelas

Em geral, usa clones de tabelas da mesma forma que usa tabelas padrão, incluindo as seguintes operações:

  • Consultar
  • Controlo de acesso
  • A obter metadados
  • Partição e clustering
  • Trabalhar com esquemas
  • A eliminar

No entanto, a criação de um clone de tabela é diferente da criação de uma tabela padrão. Para mais informações, consulte o artigo Crie clones de tabelas.

Custos de armazenamento

Os custos de armazenamento aplicam-se a clones de tabelas, mas o BigQuery só cobra pelos dados num clone de tabela que ainda não sejam cobrados a outra tabela:

  • Quando é criado um clone de tabela, inicialmente não existe custo de armazenamento para o clone de tabela.

  • Se forem adicionados ou alterados dados num clone de tabela, é-lhe cobrado o armazenamento dos dados adicionados ou atualizados.

  • Se os dados forem eliminados num clone de tabela, não lhe é cobrado o armazenamento dos dados eliminados.

  • Se os dados forem alterados ou eliminados na tabela base que também existe num clone de tabela, é-lhe cobrado o armazenamento do clone de tabela dos dados alterados ou eliminados. Se existirem vários clones que contenham os dados alterados ou eliminados, só lhe é cobrado o armazenamento usado pelo clone mais antigo.

  • Se forem adicionados dados à tabela de base após a criação do clone da tabela, não lhe é cobrado o armazenamento desses dados no clone da tabela, mas é-lhe cobrado na tabela de base.

A diferença entre as cobranças de armazenamento da tabela base e da tabela clonada é apresentada na imagem seguinte:

Exemplo de faturação de clonagem de tabelas

Para mais informações, consulte os preços de armazenamento do BigQuery.

Limitações

  • Pode clonar uma tabela entre conjuntos de dados no mesmo projeto e entre conjuntos de dados em projetos diferentes. No entanto, o conjunto de dados de destino para o clone da tabela tem de estar na mesma região e na mesma organização que a tabela a ser clonada. Por exemplo, não pode clonar uma tabela de um conjunto de dados sediado na UE para um conjunto de dados sediado nos EUA.
  • Não pode criar um clone dos dados de uma tabela tal como estavam há mais tempo do que a duração da janela de viagem no tempo para o conjunto de dados da tabela.
  • Não pode criar um clone de uma vista nem de uma vista materializada.
  • Não pode criar um clone de uma tabela externa.
  • Se clonar uma tabela que tenha dados no armazenamento otimizado para escrita (o buffer de streaming para linhas transmitidas recentemente), os dados no armazenamento otimizado para escrita não são incluídos na clonagem da tabela.
  • Se clonar uma tabela com dados na viagem no tempo, os dados na viagem no tempo não são incluídos na clonagem da tabela.
  • Não é possível distinguir os clones de tabelas das tabelas padrão no painel do Explorador. No entanto, pode distinguir um clone de tabela de uma tabela padrão consultando os detalhes da tabela. Os detalhes dos clones de tabelas têm uma secção Informações da tabela base que as tabelas padrão não têm.
  • Não pode usar uma operação de clonagem para anexar dados a uma tabela existente. Por exemplo, não pode usar as definições de flags --append_table=true e --clone=true no mesmo comando bq cp. Para anexar dados quando duplica uma tabela, use uma operação de cópia.
  • Quando cria um clone de uma tabela, o respetivo nome tem de cumprir as mesmas regras de nomenclatura que quando cria uma tabela.
  • A criação de clones de tabelas está sujeita aos limites do BigQuery em tarefas de cópia.
  • O tempo que o BigQuery demora a criar clones de tabelas pode variar significativamente entre diferentes execuções, uma vez que o armazenamento subjacente é gerido dinamicamente.

Quotas e limites

Os clones de tabelas estão sujeitos às mesmas quotas e limites que as tabelas padrão. Para mais informações, consulte as quotas e os limites das tabelas. Também têm limites de clonagem de tabelas que se aplicam.

O que se segue?