Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Introduzione agli snapshot delle tabelle
Questo documento è un'introduzione agli snapshot delle tabelle BigQuery.
È il primo di una serie di documenti che descrivono come utilizzare gli snapshot delle tabelle BigQuery, ad esempio come crearli, ripristinarli, aggiornarli, ottenere informazioni e eseguire query. Questo insieme di documenti è rivolto agli utenti che hanno dimestichezza con BigQuery e le tabelle BigQuery.
Snapshot delle tabelle
Uno snapshot della tabella BigQuery conserva i contenuti di una tabella (chiamata tabella di base) in un determinato momento. Puoi salvare uno snapshot di una tabella corrente o creare uno snapshot di una tabella così com'era in qualsiasi momento negli ultimi sette giorni. Uno snapshot di tabella può avere una scadenza. Quando è trascorso il periodo di tempo configurato dalla creazione dello snapshot, BigQuery lo elimina. Puoi eseguire query su uno snapshot di tabella come faresti con una tabella
standard. Gli snapshot delle tabelle sono di sola lettura, ma puoi creare (ripristinare) una tabella standard da uno snapshot della tabella e poi modificarla.
I vantaggi dell'utilizzo delle istantanee delle tabelle includono:
Conservare un record per più di sette giorni. Con il viaggio nel tempo di BigQuery, puoi accedere ai dati di una tabella solo da sette giorni fa o da date più recenti. Con gli snapshot delle tabelle, puoi conservare i dati di una tabella a partire da un determinato punto in tempo per tutto il tempo che vuoi.
Riduci al minimo i costi di archiviazione. BigQuery archivia solo i byte diversi tra uno snapshot e la relativa tabella di base, pertanto uno snapshot della tabella in genere utilizza meno spazio di archiviazione rispetto a una copia completa della tabella.
Se hai bisogno di copie mutabili e leggere delle tue tabelle, valuta la possibilità di utilizzare
i cloni di tabelle.
Controllo dell'accesso per le istantanee delle tabelle
Il controllo dell'accesso per gli snapshot delle tabelle è simile al controllo dell'accesso per le tabelle.
Per ulteriori informazioni, consulta
Controllare l'accesso alle risorse con IAM.
Eseguire query sugli snapshot delle tabelle
Esegui query sui dati di uno snapshot di tabella nello stesso modo in cui esegui query su altri tipi di tabelle BigQuery. Per ulteriori informazioni, consulta
Eseguire query sui dati di BigQuery.
Costi di archiviazione
I costi di archiviazione si applicano agli snapshot delle tabelle, ma BigQuery addebita solo i dati di uno snapshot di tabella che non sono già addebitati a un'altra tabella:
Quando viene creato uno snapshot di tabella, inizialmente non è previsto alcun costo di archiviazione per lo snapshot.
Se vengono aggiunti nuovi dati alla tabella di base dopo la creazione dello snapshot della tabella, non paghi lo spazio di archiviazione di questi dati nello snapshot della tabella.
Se i dati vengono modificati o eliminati nella tabella di base ed esistono anche in uno snapshot della tabella, si verificano i seguenti addebiti:
Ti viene addebitato il costo dell'archiviazione degli snapshot delle tabelle dei dati modificati o eliminati.
Se la tabella di base viene fatturata come spazio di archiviazione fisico, gli addebiti relativi al viaggio nel tempo e al failsafe non vengono addebitati alla tabella di base. Quando l'istantanea viene eliminata, ti vengono addebitati i costi di viaggio nel tempo e di failsafe.
Se sono presenti più snapshot che contengono i dati modificati o eliminati, ti viene addebitato solo lo spazio di archiviazione utilizzato dallo snapshot più antico.
Quando copi uno snapshot o una clona di una tabella all'interno della stessa regione o da una regione o da una multiregione all'altra, viene creata una copia completa della tabella. Questa operazione comporta costi di archiviazione aggiuntivi.
La differenza tra gli addebiti per lo spazio di archiviazione delle tabelle di base e degli snapshot delle tabelle è mostrata
nella seguente immagine:
Uno snapshot di tabella deve trovarsi nella stessa regione e appartenere alla stessa organizzazione della tabella di base. Se selezioni un set di dati in un'altra regione,
BigQuery crea una copia della tabella nel set di dati di destinazione in
quella regione.
Gli snapshot delle tabelle sono di sola lettura. Non puoi aggiornare i dati in uno snapshot della tabella
se non crei una tabella standard dallo snapshot e poi aggiorni i dati.
Puoi aggiornare solo i metadati di uno snapshot di tabella, ad esempio la descrizione, la data di scadenza e il criterio di accesso.
Puoi acquisire uno snapshot dei dati di una tabella solo come erano sette giorni fa o più di recente, a causa del limite di sette giorni per il viaggio nel tempo.
Non puoi acquisire un'istantanea di una vista o di una vista materializzata.
Se acquisisci uno snapshot di una tabella contenente dati in viaggio nel tempo, questi dati non vengono inclusi nello snapshot della tabella.
Se acquisisci uno snapshot di una tabella partizionata con una scadenza della partizione impostata, le informazioni sulla scadenza della partizione non vengono conservate nello snapshot.
La tabella con snapshot utilizza invece la scadenza predefinita della partizione del set di dati di destinazione.
Per conservare le informazioni sulla scadenza della partizione,
copia la tabella.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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)."]]