Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Présentation des clones de table
Ce document fournit une présentation des clones de table dans BigQuery.
Il est destiné aux utilisateurs familiarisés avec BigQuery et les tables BigQuery.
Un clone de table est une copie en écriture légère d'une autre table (appelée table de base). Seulement le stockage des données qui diffèrent entre le clone de la table et la table de base vous est facturé. Initialement, vous ne payez donc pas de coût de stockage pour un clone de table. En dehors du modèle de facturation du stockage et de métadonnées supplémentaires pour la table de base, un clone de table est similaire à une table standard : vous pouvez l'interroger, en créer une copie, la supprimer, etc.
Voici quelques cas d'utilisation courants des clones de table :
Créer des copies de tables de production que vous pouvez utiliser pour le développement et les tests.
Créer des bacs à sable pour permettre aux utilisateurs de générer leurs propres analyses et manipulations de données, sans copier physiquement toutes les données de production.
Seules les données modifiées sont facturées.
Une fois le clone de table créé, il est indépendant de la table de base. Aucune modification apportée à la table de base ou au clone de table n'est reflétée dans l'autre.
Si vous avez besoin de copies de vos tables en lecture légères, envisagez d'utiliser des instantanés de table.
Métadonnées des clones de table
Un clone de table possède les mêmes métadonnées qu'une table standard, ainsi que les éléments suivants :
Projet, ensemble de données et nom de la table de base du clone de table
Heure de l'opération du clone de table. Si la Fonction temporelle a été utilisée pour créer le clone de table, il s'agit de l'horodatage de la fonction temporelle.
En règle générale, les clones de table sont utilisés de la même manière que les tables standards, y compris pour les opérations suivantes :
Requête
Contrôle des accès
Obtenir des métadonnées
Partitionnement et filtrage par cluster
Utiliser des schémas
Suppression
Cependant, la création d'un clone de table est différente de la création d'une table standard. Pour en savoir plus, consultez la section Créer des clones de table.
Coûts de stockage
Les coûts de stockage s'appliquent aux clones de table, mais BigQuery ne facture que les données d'un clone de table qui ne sont pas déjà facturées dans une autre table :
Lorsqu'un clone de table est créé, il n'y a initialement aucun coût de stockage pour ce clone de table.
Si des données sont ajoutées ou modifiées dans un clone de table, le stockage des données ajoutées ou mises à jour vous est facturé.
Si des données sont supprimées dans un clone de table, le stockage des données supprimées ne vous est pas facturé.
Si des données existant également dans le clone de table sont modifiées ou supprimées dans la table de base, le stockage des données modifiées ou supprimées dans le clone de table vous sera facturé. Si plusieurs clones contiennent les données modifiées ou supprimées, vous ne payez que l'espace de stockage utilisé par le clone le plus ancien.
Si des données sont ajoutées à la table de base après la création du clone de table, le stockage de ces données dans le clone de table ne vous est pas facturé, mais il l'est dans la table de base.
La différence entre les frais de stockage de la table de base et du clone de table est illustrée dans l'image suivante :
Vous pouvez cloner une table entre des ensembles de données d'un même projet et entre des ensembles de données de différents projets. Cependant, l'ensemble de données de destination du clone de table doit se trouver dans la même région et dans la même organisation que la table clonée. Par exemple, vous ne pouvez pas cloner une table d'un ensemble de données basé dans l'UE vers un ensemble de données basé aux États-Unis.
Vous ne pouvez pas créer un clone des données d'une table si elles remontent à plus loin que la fenêtre de fonctionnalité temporelle pour l'ensemble de données de la table.
Si vous clonez une table contenant des données dans la fonctionnalité temporelle, ces données ne sont pas incluses dans le clone de table.
Il n'est pas possible de distinguer les clones de table des tables standards dans le volet Explorateur. Vous pouvez toutefois distinguer un clone de table à partir d'une table standard en examinant les détails de la table.
Les détails du clone de table comportent une section Informations sur la table de base, ce qui n'est pas le cas des tables standards.
Vous ne pouvez pas utiliser une opération de clonage pour ajouter des données à une table existante. Par exemple, vous ne pouvez pas utiliser les paramètres d'option --append_table=true et --clone=true dans la même commande bq cp. Pour ajouter des données lors de la duplication d'une table, utilisez plutôt une opération de copie.
Lorsque vous créez un clone de table, son nom doit respecter les mêmes règles de dénomination que lorsque vous créez une table.
La création de clones de table est soumise aux limites BigQuery applicables aux tâches de copie.
Le temps nécessaire à BigQuery pour créer des clones de table peut varier considérablement selon les exécutions, car le stockage sous-jacent est géré de manière dynamique.
Quotas et limites
Les clones de table sont soumis aux mêmes quotas et limites que les tables standards. Pour en savoir plus, consultez la section Quotas et limites de table. Des limites de clones de table s'appliquent également.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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)."]]