Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Présentation des instantanés de table
Ce document est une introduction aux instantanés de table BigQuery.
Il s'agit du premier d'un ensemble de documents décrivant comment utiliser les instantanés de table BigQuery, y compris comment les créer, les restaurer, les mettre à jour et les interroger, et obtenir des informations à leur sujet. Cet ensemble de documents est destiné aux utilisateurs familiarisés avec BigQuery et les tables BigQuery.
Instantanés de table
Un instantané de table BigQuery préserve le contenu d'une table (appelée table de base) à un moment donné. Vous pouvez enregistrer un instantané d'une table actuelle ou créer un instantané d'une table dans l'état où elle se trouvait à tout moment au cours des sept derniers jours. Un instantané de table peut présenter un délai d'expiration. Lorsque le délai configuré s'est écoulé depuis la création de l'instantané de la table, BigQuery supprime l'instantané. Vous pouvez interroger un instantané de table comme vous le feriez avec une table standard. Les instantanés de table sont en lecture seule. Toutefois, vous pouvez créer (restaurer) une table standard à partir d'un instantané de table, puis modifier la table restaurée.
L'utilisation d'instantanés de table offre les avantages suivants :
Conserver un enregistrement pendant plus de sept jours. Avec la fonction temporelle de BigQuery, vous ne pouvez accéder aux données d'une table que sur les sept derniers jours. Les instantanés de table vous permettent de conserver les données d'une table à un moment précis aussi longtemps que vous le souhaitez.
Réduire les coûts de stockage. BigQuery ne stocke que les octets qui diffèrent entre un instantané et sa table de base. Par conséquent, un instantané de table utilise généralement moins d'espace de stockage qu'une copie complète de la table.
Si vous avez besoin de copies légères et modifiables de vos tables, envisagez d'utiliser des clones de table.
Contrôle des accès aux instantanés de table
Le contrôle des accès aux instantanés de table est semblable à celui des tables.
Pour en savoir plus, consultez la section Contrôler l'accès aux ressources avec IAM.
Interroger des instantanés de table
Vous interrogez les données d'un instantané de table de la même manière que vous interrogez d'autres types de tables BigQuery. Pour en savoir plus, consultez la page Interroger des données BigQuery.
Coûts de stockage
Les coûts de stockage s'appliquent aux instantanés de table, mais BigQuery ne facture que les données d'un instantané de table qui ne sont pas déjà facturées dans une autre table :
Lorsqu'un instantané de table est créé, il n'y a initialement aucun coût de stockage pour cet instantané.
Si de nouvelles données sont ajoutées à la table de base après la création de l'instantané, vous ne payez pas le stockage de ces données dans l'instantané.
Si des données existant également dans un instantané de table sont modifiées ou supprimées dans la table de base, les frais suivants s'appliquent :
Vous êtes facturé pour le stockage des données modifiées ou supprimées de l'instantané de la table.
Si la table de base est facturée en tant que stockage physique, les frais de fonctionnalité temporelle et de prévention des défaillances ne sont pas facturés à la table de base. Lorsque l'instantané est supprimé, vous êtes facturé pour la fonctionnalité temporelle et la prévention des défaillances.
Si plusieurs instantanés contiennent les données modifiées ou supprimées, vous ne payez que l'espace de stockage utilisé par l'instantané le plus ancien.
Lorsque vous copiez un instantané ou un clone de table dans une même région, ou d'une région ou d'un emplacement multirégional à un autre, une copie complète de la table est créée. Cela entraîne des frais de stockage supplémentaires.
La différence entre les frais de stockage des tables de base et des instantanés de table est illustrée dans l'image suivante :
Un instantané de table doit se trouver dans la même région et dans la même organisation que sa table de base. Si vous sélectionnez un ensemble de données dans une autre région, BigQuery crée une copie de la table dans l'ensemble de données cible de cette région.
Les instantanés de table sont en lecture seule. Vous ne pouvez pas mettre à jour les données d'un instantané de table, sauf si vous créez une table standard à partir de l'instantané et que vous mettez ensuite ces données à jour.
Vous ne pouvez mettre à jour que les métadonnées d'un instantané de table, telles que sa description, sa date d'expiration et sa règle d'accès.
Les données de la table dont vous souhaitez prendre un instantané ne doivent pas dater de plus de sept jours, en raison de la limite de sept jours pour la fonction temporelle.
Vous ne pouvez pas prendre un instantané d'une vue ou d'une vue matérialisée.
Vous ne pouvez pas prendre un instantané d'une table externe.
Vous ne pouvez pas écraser une table existante ou un instantané de table existant lorsque vous créez un instantané de table.
Si vous créez un instantané de table contenant des données dans la fonctionnalité temporelle, ces données ne sont pas incluses dans l'instantané de table.
Si vous créez un instantané d'une table partitionnée dont le délai d'expiration de partition est défini, les informations d'expiration des partitions ne sont pas conservées dans l'instantané.
La table capturée dans l'instantané utilise plutôt le délai d'expiration de partition par défaut de l'ensemble de données de destination.
Pour conserver les informations d'expiration de partition, effectuez plutôt une copie de la table.
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\u003eBigQuery table snapshots preserve the contents of a base table at a specific point in time, allowing users to retain data beyond the seven-day limit of time travel.\u003c/p\u003e\n"],["\u003cp\u003eTable snapshots are read-only and incur storage costs only for data that differs from the base table, optimizing storage efficiency compared to full table copies.\u003c/p\u003e\n"],["\u003cp\u003eYou can query snapshots like standard tables, restore them to create modifiable tables, and manage their metadata such as descriptions and expiration dates.\u003c/p\u003e\n"],["\u003cp\u003eTable snapshots are subject to certain limitations, such as being restricted to the same region and organization as their base table, and not including data from write-optimized storage or time travel.\u003c/p\u003e\n"],["\u003cp\u003eBigQuery provides a variety of actions for table snapshots such as creating, restoring, updating, and automating snapshots at the table level or the dataset level, allowing for better data management.\u003c/p\u003e\n"]]],[],null,["# Introduction to table snapshots\n===============================\n\nThis document is an introduction to BigQuery table snapshots.\nIt is the first of a set of documents that describes how to work with\nBigQuery table snapshots, including\nhow to create, restore, update, get information about, and query table\nsnapshots. This document set is intended for users who are familiar with\n[BigQuery](/bigquery/docs)\nand BigQuery [tables](/bigquery/docs/tables-intro).\n\nTable snapshots\n---------------\n\nA BigQuery table snapshot preserves the contents of a table\n(called the *base table* ) at a particular\ntime. You can save a snapshot of a current table, or create a snapshot of a\ntable as it was at any time in the past seven days. A table snapshot can have an\nexpiration; when the configured amount of time has passed since the table\nsnapshot was created,\nBigQuery\ndeletes the table snapshot. You can query a table snapshot as you would a\nstandard\ntable. Table snapshots are read-only, but you can create (*restore*) a standard\ntable from a table snapshot, and then you can modify the restored table.\n\nBenefits of using table snapshots include the following:\n\n- **Keep a record for longer than seven days.** With BigQuery\n [time travel](/bigquery/docs/time-travel), you can only access a table's data\n from seven days ago or more recently. With table snapshots, you can\n preserve a table's data from a specified point in time for as long as you want.\n\n- **Minimize storage cost.** BigQuery only stores bytes that are\n different between a\n snapshot and its base table, so a table snapshot typically uses less storage\n than a full copy of the table.\n\nIf you need mutable, lightweight copies of your tables, consider using\n[table clones](/bigquery/docs/table-clones-intro).\n\nAccess control for table snapshots\n----------------------------------\n\nAccess control for table snapshots is similar to access control for tables.\nFor more information, see\n[Control access to resources with IAM](/bigquery/docs/control-access-to-resources-iam).\n\nQuerying table snapshots\n------------------------\n\nYou query a table snapshot's data in the same way as you query other types\nof BigQuery tables. For more information, see\n[Querying BigQuery data](/bigquery/docs/query-overview).\n\nStorage costs\n-------------\n\n[Storage costs](/bigquery/pricing#storage) apply for table snapshots,\nbut BigQuery only charges for the data in a table\nsnapshot that is not already charged to another table:\n\n- When a table snapshot is created, there is initially no storage cost for the\n table snapshot.\n\n- If new data is added to the base table after the table snapshot was\n created, then you don't pay for storage of that data in the table snapshot.\n\n- If data is changed or deleted in the base table that also exists in a table\n snapshot, the following charges occur:\n\n - You are charged for the table snapshot storage of the changed\n or deleted data.\n\n - If the base table is billed as physical storage, time travel\n and failsafe charges aren't charged to the base table. When the snapshot\n is deleted, you are charged for time travel and failsafe.\n\n - If there are multiple snapshots that contain the changed or\n deleted data, you are only charged for the storage used by the oldest\n snapshot.\n\n- When you copy a table snapshot or clone within a same region or from one\n region or multi-region to another, a full copy of the table is created. This\n incurs additional [storage costs](/bigquery/pricing).\n\nThe difference between base table and table snapshot storage charges is shown\nin the 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 its table snapshot.\n| - Some changes to a base table can result in you being charged the full storage amount for a table snapshot 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 snapshots. This might cause the oldest of the base table's snapshots to be charged up to the full storage amount of the modified partition.\n| - Partitions can help reduce storage costs for table snapshots. In general, BigQuery only makes a copy of modified data within a partition, instead of the entire table snapshot.\n\nFor more information, see\n[BigQuery storage pricing](/bigquery/pricing#storage).\n\nLimitations\n-----------\n\n- A table snapshot must be in the same [region](/bigquery/docs/locations), and\n under the same\n [organization](/resource-manager/docs/creating-managing-organization),\n as its base table. If you select a dataset in a different region,\n BigQuery creates a copy of the table in the target dataset in\n that region.\n\n- Table snapshots are read-only; you can't update the data in a table snapshot\n unless you create a standard table from the snapshot and then update the data.\n You can only update a table snapshot's metadata; for example, its description,\n expiration date, and access policy.\n\n- You can only take a snapshot of a table's data as it was seven days ago or\n more recently, due to the seven-day limit for\n [time travel](/bigquery/docs/time-travel).\n\n- You can't take a snapshot of a view or a materialized view.\n\n- You can't take a snapshot of an [external table](/bigquery/docs/external-tables).\n\n- You can't overwrite an existing table or table snapshot when you create a\n table snapshot.\n\n- If you snapshot a table that has data in\n [write-optimized storage (streaming buffer)](/bigquery/docs/streaming-data-into-bigquery#dataavailability),\n the data in the write-optimized storage is not included in the table snapshot.\n\n- If you snapshot a table that has data in\n [time travel](/bigquery/docs/time-travel),\n the data in time travel is not included in the table snapshot.\n\n- If you snapshot a partitioned table that has a\n [partition expiration](/bigquery/docs/managing-partitioned-tables#partition-expiration)\n set, the partition expiration information isn't retained in the snapshot.\n The snapshotted table uses the destination dataset's default partition\n expiration instead.\n To retain the partition expiration information,\n [copy the table](/bigquery/docs/managing-tables#copy-table) instead.\n\nQuotas and limits\n-----------------\n\nFor information about the quotas and limits that apply for table snapshots, see\n[Table snapshots quotas and limits](/bigquery/quotas#table_snapshots).\n\nWhat's next\n-----------\n\n- [Create a table snapshot](/bigquery/docs/table-snapshots-create).\n- [Restore a table snapshot](/bigquery/docs/table-snapshots-restore).\n- [Update a table snapshot's description, expiration date, or\n access policy](/bigquery/docs/table-snapshots-update).\n- [Create monthly snapshots of a table by using a service account that runs a scheduled query](/bigquery/docs/table-snapshots-scheduled).\n- [Automate snapshots at the dataset level](https://github.com/GoogleCloudPlatform/bigquery-utils/tree/master/tools/cloud_functions/bq_table_snapshots)."]]