Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Introdução aos clones de tabela
Este documento fornece uma visão geral dos clones de tabela no BigQuery.
Ele é destinado a
usuários que já conhecem o BigQuery
e as tabelas do BigQuery.
Um clone de tabela é uma cópia leve e gravável de outra tabela
(chamada de tabela base). A cobrança é feita apenas pelo armazenamento de dados no
clone de tabela que é diferente da tabela base. Portanto, inicialmente não há custo
de armazenamento para um clone da tabela. Além do modelo de faturamento para armazenamento e de alguns
metadados adicionais para a tabela base, um clone de tabela é semelhante a uma
tabela padrão. É possível consultá-lo, copiá-lo, excluí-lo e assim por diante.
Veja a seguir alguns casos de uso comuns:
Criar cópias de tabelas de produção que podem ser usadas para desenvolvimento e testes.
Criar sandboxes para que os usuários gerem as próprias análises e
manipulações de dados, sem copiar fisicamente todos os dados de produção.
Somente os dados alterados são faturados.
Após a criação de um clone de tabela, o clone é independente da tabela base. Nenhuma alteração
feita na tabela base ou no clone da tabela será refletida no outro.
Se você precisar de cópias leves somente leitura das suas tabelas, use os
snapshots da tabela.
Metadados de clone de tabela
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 clone de tabela. Se
viagem de tempo for usada para criar o clone da tabela,
esse será o carimbo de data/hora de viagem do tempo.
Em geral, use clones de tabela da mesma maneira que usa
tabelas padrão, incluindo as seguintes
operações:
Consulta
Controle de acesso
Buscar metadados
Particionamento e agrupamento em cluster
Como trabalhar com esquemas
Excluindo
No entanto, a criação de um clone de tabela é diferente da criação de uma
tabela padrão. Para mais informações, consulte
Criar clones de tabela.
Custos de armazenamento
Os custos de armazenamento se aplicam a clones de tabela,
mas o BigQuery cobra apenas pelos dados em um clone
de tabela que ainda não tenha sido cobrado:
Quando um clone de tabela é criado, não há custo de armazenamento inicial para o
clone de tabela.
Se os dados forem adicionados ou alterados em um clone de tabela, a cobrança será feita pelo
armazenamento dos dados adicionados ou atualizados.
Se os dados forem alterados ou excluídos na tabela base que também existe em um clone
de tabela, a cobrança será feita pelo armazenamento do clone de tabela dos dados alterados
ou excluídos. Se houver vários clones que contenham os dados alterados ou
excluídos, você só será cobrado pelo armazenamento usado pelo clone mais antigo.
Se os dados forem adicionados à tabela base após a criação
do clone da tabela, você não será cobrado pelo armazenamento desses dados,
mas sim pela tabela base.
A diferença entre as cobranças de armazenamento da tabela base e do clone da tabela é mostrada na
imagem a seguir:
Você 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 do
clone da tabela precisa estar na mesma região e na
mesma
organização
que a tabela sendo clonada. Por exemplo, não é possível clonar uma tabela de um
conjunto de dados baseado na UE em um conjunto de dados baseado nos EUA.
Não é possível criar um clone dos dados de uma tabela porque isso ocorreu mais do que a
duração da janela de viagem no tempo do
conjunto de dados da tabela.
Não é possível substituir uma tabela ou um clone de tabela existentes ao criar um clone da tabela. Para limitações específicas, consulte Nomenclatura de tabelas.
Se você clonar uma tabela que tem dados no armazenamento otimizado para gravação
(o buffer de streaming para linhas transmitidas recentemente),
os dados no armazenamento otimizado para gravação não serão incluídos no clone da tabela.
Se você clonar uma tabela que tenha dados em viagem no tempo, esses dados não serão incluídos no clone da tabela.
Os clones de tabela não podem ser distinguidos das tabelas padrão no
painel Explorer. No entanto, é possível identificar um clone de tabela em uma tabela
padrão
olhando os detalhes da tabela.
Os detalhes do clone da tabela têm uma seção Informações da tabela base que as tabelas
padrão não têm.
Não é possível usar uma operação de clone para anexar dados a uma tabela existente. Por
exemplo, não é possível usar as configurações de sinalização --append_table=true e
--clone=true no mesmo
comando bq cp. Para anexar
dados ao duplicar uma tabela, use uma operação de cópia.
Quando você cria um clone da tabela, o nome precisa seguir as
mesmas convenções de nomenclatura de quando você
cria uma tabela.
A criação de clones de tabelas está sujeita aos
limites do BigQuery nos jobs de cópia.
O tempo que o BigQuery leva para criar clones de tabelas pode
variar significativamente em diferentes execuções, porque o armazenamento subjacente é
gerenciado dinamicamente.
Cotas e limites
Os clones de tabelas estão sujeitos às mesmas cotas e aos mesmos limites que as tabelas padrão. Para
mais informações, consulte
Cotas e limites de tabela. Elas também têm
limites de clone de tabela aplicáveis.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-26 UTC."],[[["\u003cp\u003eTable clones are writable, lightweight copies of a base table, incurring storage costs only for data that differs from the base table.\u003c/p\u003e\n"],["\u003cp\u003eCommon uses for table clones include creating development/testing environments and sandboxes for user analytics without duplicating all production data.\u003c/p\u003e\n"],["\u003cp\u003eTable clones are independent of their base tables, meaning changes to one are not reflected in the other.\u003c/p\u003e\n"],["\u003cp\u003eTable clones have similar functionality to standard tables, allowing for querying, access control, and deletion, among other operations.\u003c/p\u003e\n"],["\u003cp\u003eStorage costs for table clones are incurred when data is added, updated, or if data is changed or deleted in the base table that also exist in the clone.\u003c/p\u003e\n"]]],[],null,["# Introduction to table clones\n============================\n\nThis document gives an overview of table clones in BigQuery.\nIt is intended for\nusers who are familiar with [BigQuery](/bigquery/docs)\nand BigQuery [tables](/bigquery/docs/tables-intro).\n\nA *table clone* is a lightweight, writable copy of another table\n(called the *base table*). You are only charged for storage of data in the\ntable clone that differs from the base table, so initially there is no storage\ncost for a table clone. Other than the billing model for storage, and some\nadditional metadata for the base table, a table clone is similar to a\nstandard table---you can query it, make a copy of it, delete it, and so on.\n\nCommon use cases for table clones include the following:\n\n- Creating copies of production tables that you can use for development and testing.\n- Creating sandboxes for users to generate their own analytics and data manipulations, without physically copying all of the production data. Only the changed data is billed.\n\nAfter you create a table clone, it is independent of the base table. Any changes\nmade to the base table or table clone aren't reflected in the other.\n\nIf you need read-only, lightweight copies of your tables, consider using\n[table snapshots](/bigquery/docs/table-snapshots-intro).\n\nTable clone metadata\n--------------------\n\nA table clone has the same metadata as a standard table, plus the following:\n\n- The project, dataset, and name of the table clone's base table.\n- The time of the table clone operation. If [time travel](/bigquery/docs/time-travel) was used to create the table clone, then this is the time travel timestamp.\n\nFor more information, see\n[INFORMATION_SCHEMA.TABLES](/bigquery/docs/information-schema-tables).\n\nTable clone operations\n----------------------\n\nIn general, you use table clones in the same way as you use\n[standard tables](/bigquery/docs/managing-tables), including the following\noperations:\n\n- Querying\n- Access control\n- Getting metadata\n- Partitioning and clustering\n- Working with schemas\n- Deleting\n\nHowever, the creation of a table clone is different from the creation of a\nstandard table. For more information, see\n[Create table clones](/bigquery/docs/table-clones-create).\n\nStorage costs\n-------------\n\n[Storage costs](/bigquery/pricing#storage) apply for table clones,\nbut BigQuery only charges for the data in a table\nclone that is not already charged to another table:\n\n- When a table clone is created, there is initially no storage cost for the\n table clone.\n\n- If data is added or changed in a table clone, then you are charged for the\n storage of the added or updated data.\n\n- If data is deleted in a table clone, then you are not charged for the storage\n of the deleted data.\n\n- If data is changed or deleted in the base table that also exists in a table\n clone, then you are charged for the table clone storage of the changed or\n deleted data. If there are multiple clones that contain the changed or\n deleted data, you are only charged for the storage used by the oldest clone.\n\n- If data is added to the base table after the table clone was\n created, then you aren't charged for storage of that data in the table clone,\n but you are charged for it in the base table,\n\nThe difference between base table and table clone storage charges is shown in\nthe following image:\n\n| **Note:**\n| - Because BigQuery storage is column-based, small changes to the data in a base table can result in large increases in storage cost for a clone of the table.\n| - Some changes to a base table can result in you being charged the full storage amount for a table clone of the table. For example, if you modify a base table with [clustering](/bigquery/docs/creating-clustered-tables#modifying-cluster-spec), that can lead to automatic re-clustering. Because re-clustering can rewrite the base table's storage blocks, the base table's storage is no longer the same as the storage of its clones. This causes the oldest of the base table's clones to be charged the full storage amount of the modified partition.\n| - Partitions can help reduce storage costs for table clones. In general, BigQuery only makes a copy of modified data within a partition, instead of the entire table clone.\n\nFor more information, see\n[BigQuery storage pricing](/bigquery/pricing#storage).\n\nLimitations\n-----------\n\n- You can clone a table between datasets in the same project, and between datasets in different projects. However, the destination dataset for the table clone must be in the same [region](/bigquery/docs/locations), and under the same [organization](/resource-manager/docs/creating-managing-organization), as the table being cloned. For example, you cannot clone a table from an EU-based dataset into a US-based dataset.\n- You can't create a clone of a table's data as it was further back than the duration of the [time travel](/bigquery/docs/time-travel) window for the table's dataset.\n- You can't create a clone of a [view](/bigquery/docs/views-intro) or a [materialized view](/bigquery/docs/materialized-views-intro).\n- You can't create a clone of an [external table](/bigquery/docs/external-tables).\n- If you clone a table that has data in write-optimized storage (the [streaming buffer for recently streamed rows](/bigquery/docs/streaming-data-into-bigquery#dataavailability)), the data in the write-optimized storage is not included in the table clone.\n- If you clone a table that has data in [time travel](/bigquery/docs/time-travel), the data in time travel is not included in the table clone.\n- Table clones can't be distinguished from standard tables in the **Explorer** pane. However, you can tell a table clone from a standard table by [looking at the table details](/bigquery/docs/tables#get_table_information_using_information_schema). Table clone details have a **Base Table Info** section that standard tables don't.\n- You can't use a clone operation to append data to an existing table. For example, you can't use the flag settings `--append_table=true` and `--clone=true` in the same [`bq cp`](/bigquery/docs/reference/bq-cli-reference#bq_cp) command. To append data when duplicating a table, use a copy operation instead.\n- When you create a table clone, its name must adhere to the same [naming rules](/bigquery/docs/tables#table_naming) as when you create a table.\n- Table clone creation is subject to BigQuery [limits](/bigquery/quotas#copy_jobs) on copy jobs.\n- The time that BigQuery takes to create table clones might vary significantly across different runs because the underlying storage is managed dynamically.\n\nQuotas and limits\n-----------------\n\nTable clones are subject to the same quotas and limits as standard tables. For\nmore information, see\n[table quotas and limits](/bigquery/quotas#table_limits). They also have\n[table clone limits](/bigquery/quotas#table_clones) that apply.\n\nWhat's next\n-----------\n\n- [Create a table clone](/bigquery/docs/table-clones-create)."]]