Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Pengantar snapshot tabel
Dokumen ini merupakan pengantar snapshot tabel BigQuery.
Dokumen ini merupakan bagian pertama dari serangkaian dokumen yang menjelaskan cara menggunakan snapshot tabel BigQuery, termasuk cara membuat, memulihkan, memperbarui, mendapatkan informasi tentang, dan membuat kueri snapshot tabel. Serangkaian dokumen tersebut ditujukan untuk pengguna yang sudah memahami BigQuery dan tabel BigQuery.
Snapshot tabel
Snapshot tabel BigQuery menyimpan isi tabel (disebut tabel dasar) pada waktu tertentu. Anda dapat menyimpan snapshot tabel terkini, atau membuat snapshot tabel sebagaimana keadaan tabel pada suatu waktu dalam tujuh hari terakhir. Snapshot tabel dapat memiliki masa berlaku; ketika jumlah waktu yang dikonfigurasi telah berlalu sejak snapshot tabel dibuat, BigQuery akan menghapus snapshot tabel tersebut. Anda dapat membuat kueri snapshot tabel seperti halnya tabel standar. Snapshot tabel bersifat hanya baca, tetapi Anda dapat membuat (memulihkan) tabel standar dari snapshot tabel, lalu mengubah tabel yang dipulihkan.
Manfaat menggunakan snapshot tabel meliputi hal berikut:
Menyimpan data selama lebih dari tujuh hari. Dengan perjalanan waktu BigQuery, Anda hanya dapat mengakses data tabel dari tujuh hari yang lalu atau setelahnya. Dengan snapshot tabel, Anda dapat mempertahankan data tabel dari suatu titik waktu tertentu selama yang Anda inginkan.
Meminimalkan biaya penyimpanan. BigQuery hanya menyimpan byte yang berbeda antara snapshot dan tabel dasarnya, sehingga snapshot tabel biasanya menggunakan lebih sedikit ruang penyimpanan daripada salinan tabel penuh.
Jika Anda memerlukan salinan tabel yang ringan dan dapat diubah, sebaiknya gunakan clone tabel.
Kontrol akses untuk snapshot tabel
Kontrol akses untuk snapshot tabel mirip dengan kontrol akses untuk tabel.
Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses ke resource dengan IAM.
Membuat kueri snapshot tabel
Pembuatan kueri untuk data snapshot tabel dilakukan dengan cara yang sama seperti pembuatan kueri jenis tabel BigQuery lainnya. Untuk mengetahui informasi selengkapnya, baca artikel Membuat kueri data BigQuery.
Biaya penyimpanan
Biaya penyimpanan berlaku untuk snapshot tabel, tetapi BigQuery hanya mengenakan biaya untuk data dalam snapshot tabel yang belum ditagihkan ke tabel lain:
Ketika snapshot tabel dibuat, awalnya tidak ada biaya penyimpanan untuk snapshot tabel.
Jika data baru ditambahkan ke tabel dasar setelah snapshot tabel dibuat, Anda tidak perlu membayar untuk penyimpanan data yang ada dalam snapshot tabel tersebut.
Jika data diubah atau dihapus dalam tabel dasar yang juga ada dalam snapshot tabel, tagihan berikut akan terjadi:
Anda akan dikenai biaya untuk penyimpanan snapshot tabel dari data yang diubah atau dihapus.
Jika tabel dasar ditagih sebagai penyimpanan fisik, biaya perjalanan waktu dan failsafe tidak akan ditagih ke tabel dasar. Saat snapshot dihapus, Anda akan ditagih untuk perjalanan waktu dan failsafe.
Jika ada beberapa snapshot yang berisi data yang diubah atau dihapus, Anda hanya akan dikenai biaya untuk penyimpanan yang digunakan oleh snapshot terlama.
Saat Anda menyalin snapshot atau clone tabel dalam region yang sama atau dari satu region atau multi-region ke region lainnya, salinan lengkap tabel akan dibuat. Hal ini
akan menimbulkan biaya penyimpanan tambahan.
Perbedaan antara biaya penyimpanan tabel dasar dan snapshot tabel ditunjukkan dalam gambar berikut:
Suatu snapshot tabel harus berada di region yang sama, dan dalam organisasi yang sama dengan tabel dasarnya. Jika Anda memilih set data di region yang berbeda, BigQuery akan membuat salinan tabel di set data target di region tersebut.
Snapshot tabel bersifat hanya baca; Anda tidak dapat memperbarui data dalam snapshot tabel kecuali jika Anda membuat tabel standar dari snapshot tersebut dan kemudian memperbarui datanya.
Anda hanya dapat memperbarui metadata snapshot tabel; misalnya, deskripsi, tanggal habis masa berlaku, dan kebijakan aksesnya.
Anda hanya dapat mengambil snapshot data tabel sebagaimana keadaan data tabel tersebut pada tujuh hari yang lalu atau setelahnya, karena adanya batas tujuh hari untuk perjalanan waktu.
Anda tidak dapat mengambil snapshot dari suatu tabel virtual atau tampilan terwujud.
Jika Anda mengambil snapshot tabel yang memiliki data di dalam perjalanan waktu, data dalam perjalanan waktu tidak disertakan dalam snapshot tabel.
Jika Anda mengambil snapshot dari tabel berpartisi yang menetapkan masa berlaku partisi, informasi habis masa berlaku partisi tidak akan disimpan di dalam snapshot.
Tabel yang di-snapshot justru menggunakan masa berlaku partisi default dari set data tujuan.
Untuk menyimpan informasi masa berlaku partisi, salin tabel.
Kuota dan batas
Untuk mengetahui informasi tentang kuota dan batas yang berlaku untuk snapshot tabel, lihat Kuota dan batas snapshot tabel.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-17 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)."]]