Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Introducción a las clonaciones de tablas
En este documento, se muestra una descripción general de las clonaciones de tablas en BigQuery.
Está dirigido a usuarios familiarizados con BigQuery y las tablas de BigQuery.
Una clonación de tabla es una copia liviana y editable de otra tabla (llamada tabla base). Solo se te cobra por el almacenamiento de datos en la clonación de tabla que difiere de la tabla base, por lo que inicialmente no hay costo de almacenamiento para una clonación de tabla. Además del modelo de facturación para el almacenamiento y algunos metadatos adicionales para la tabla base, una clonación de tabla es similar a una tabla estándar: puedes consultarla, hacer una copia de ella, borrarla, etcétera.
Los casos de uso comunes para las clonaciones de tablas son los siguientes:
Crear copias de tablas de producción que puedas usar para el desarrollo y las pruebas
Crear zonas de pruebas para que los usuarios generen sus propias estadísticas de datos y manipulaciones de datos, sin copiar físicamente todos los datos de producción.
Solo se facturan los datos modificados.
Después de crear una clonación de tabla, es independiente de la tabla base. Los cambios que se realicen en la tabla base o la clonación de tabla no se reflejarán en el otra.
Si necesitas copias livianas y de solo lectura de tus tablas, considera usar instantáneas de tablas.
Metadatos de clonaciones de tablas
Una clonación de tabla tiene los mismos metadatos que una tabla estándar, más los siguientes elementos:
El proyecto, el conjunto de datos y el nombre de la tabla base de la clonación de tabla.
La hora de la operación de clonación de tabla. Si se usó el viaje en el tiempo para crear la clonación de tabla, esta es la marca del viaje en el tiempo.
En general, debes usar las clonaciones de tablas de la misma manera que usas tablas estándar, incluidas las siguientes operaciones:
Realiza consultas
Control de acceso
Obtén metadatos
Partición y agrupamiento en clústeres
Trabaja con esquemas
Borrar
Sin embargo, la creación de una clonación de tabla es diferente de la creación de una tabla estándar. Para obtener más información, consulta Crea clonaciones de tablas.
Costos de almacenamiento
Los costos de almacenamiento se aplican a las clonaciones de tablas, pero BigQuery solo cobra por los datos en una clonación de tabla que no se cobra en otra tabla:
Cuando se crea una clonación de tabla, al principio no se genera un costo de almacenamiento por ella.
Si se agregan o cambian datos en una clonación de tabla, se te cobra por el almacenamiento de los datos agregados o actualizados.
Si se borran datos en una clonación de tabla, no se te cobrará por el almacenamiento de los datos borrados.
Si se cambian o borran datos en la tabla base que también existen en la clonación de tabla, se te cobrará por almacenar en la clonación de tabla los datos modificados o borrados. Si hay varias clonaciones que contienen los datos modificados o borrados, solo se te cobrará por el almacenamiento que usa la clonación más antigua.
Si se agregan datos a la tabla base después de crear la clonación de tabla, no se te cobrará por el almacenamiento de esos datos en la clonación de tabla, pero se te cobrará por ellos en la tabla base.
La diferencia entre los cargos de almacenamiento de tablas base y de instantáneas de tabla se muestra en la siguiente imagen:
Puedes clonar una tabla entre conjuntos de datos del mismo proyecto y entre conjuntos de datos en proyectos diferentes. Sin embargo, el conjunto de datos de destino para la clonación de tabla debe estar en la misma región y en la misma organización que la de la tabla que se está clonando. Por ejemplo, no puedes clonar una tabla de un conjunto de datos que reside en la UE en un conjunto de datos que reside en EE.UU.
No puedes crear una clonación de los datos de una tabla porque estaban más allá de la duración del período de viaje en el tiempo para el conjunto de datos de la tabla.
Si clonas una tabla que tiene datos en el almacenamiento optimizado para escritura (el búfer de transmisión para filas transmitidas recientemente), los datos en el almacenamiento optimizado para escritura no se incluyen en la tabla clonación.
Si clonas una tabla que tiene datos en viaje en el tiempo, los datos en el viaje en el tiempo no se incluyen en la clonación de la tabla.
Las clonaciones de las tablas no se pueden distinguir de las tablas estándar en el panel Explorador. Sin embargo, puedes indicar una clonación de tabla a partir de una tabla estándar si observas los detalles de la tabla.
Los detalles de la clonación de tabla tienen una sección de Información de tabla base que las tablas estándar no tienen.
No puedes usar una operación de clonación para agregar datos a una tabla existente. Por ejemplo, no puedes usar la configuración de marcas --append_table=true y --clone=true en el mismo comando bq cp. Para agregar datos cuando duplicas una tabla, usa una operación de copia.
Cuando creas una clonación de tabla, su nombre debe respetar las mismas reglas de nombres que cuando creas una tabla.
La creación de clonaciones de tablas está sujeta a límites de BigQuery para trabajos de copia.
El tiempo que BigQuery tarda en crear clonaciones de tablas puede variar de manera significativa en las diferentes ejecuciones porque el almacenamiento subyacente se administra de forma dinámica.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (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)."]]