Retensi data dengan perjalanan waktu dan fail-safe
Dokumen ini menjelaskan retensi data perjalanan waktu dan fail-safe untuk set data. Selama periode perjalanan waktu dan fail-safe, data yang telah diubah atau dihapus dalam tabel mana pun dalam set data akan terus disimpan jika Anda perlu memulihkannya.
Perjalanan waktu
Anda dapat mengakses data dari titik mana pun dalam periode perjalanan waktu, yang mencakup tujuh hari terakhir secara default. Perjalanan waktu memungkinkan Anda membuat kueri data yang diperbarui atau dihapus, memulihkan tabel atau set data yang telah dihapus, atau memulihkan tabel yang sudah habis masa berlakunya.
Mengonfigurasi periode perjalanan waktu
Anda dapat menetapkan durasi periode perjalanan waktu, dari minimum dua hari hingga maksimum tujuh hari. Tujuh hari adalah defaultnya. Anda menetapkan periode perjalanan waktu di level set data, yang kemudian berlaku untuk semua tabel dalam set data.
Anda dapat mengonfigurasi periode perjalanan waktu agar lebih lama jika diperlukan waktu yang lebih lama untuk memulihkan data yang telah diperbarui atau dihapus, dan menjadi lebih singkat saat periode tersebut tidak diperlukan. Dengan periode perjalanan waktu yang lebih singkat, Anda dapat menghemat biaya penyimpanan saat menggunakan model penagihan penyimpanan fisik. Penghematan ini tidak berlaku saat menggunakan model penagihan penyimpanan logis.
Untuk mengetahui informasi selengkapnya tentang pengaruh model penagihan penyimpanan terhadap biaya, lihat Penagihan.
Pengaruh periode perjalanan waktu terhadap pemulihan tabel dan set data
Tabel atau set data yang dihapus menggunakan durasi periode perjalanan waktu yang berlaku pada saat penghapusan.
Misalnya, jika Anda memiliki durasi periode perjalanan waktu dua hari, lalu menambah durasinya menjadi tujuh hari, tabel yang dihapus sebelum perubahan tersebut hanya dapat dipulihkan selama dua hari. Demikian pula, jika Anda memiliki durasi periode perjalanan waktu lima hari dan mengurangi durasi tersebut menjadi tiga hari, tabel yang telah dihapus sebelum perubahan masih dapat dipulihkan selama lima hari.
Karena periode perjalanan waktu ditetapkan pada level set data, Anda tidak dapat mengubah periode perjalanan waktu set data yang dihapus hingga set data tersebut dibatalkan penghapusannya.
Jika Anda mengurangi durasi periode perjalanan waktu, menghapus tabel, dan kemudian menyadari bahwa Anda memerlukan periode pemulihan yang lebih panjang untuk data tersebut, Anda dapat membuat snapshot tabel dari titik waktu sebelum penghapusan tabel. Anda harus melakukannya saat tabel yang dihapus masih dapat dipulihkan. Untuk mengetahui informasi selengkapnya, lihat Membuat snapshot tabel menggunakan perjalanan waktu.
Menentukan periode perjalanan waktu
Anda dapat menggunakan konsol Google Cloud, alat command line bq, atau BigQuery API untuk menentukan periode perjalanan waktu bagi set data.
Untuk mendapatkan petunjuk tentang cara menentukan periode perjalanan waktu untuk set data baru, lihat Membuat set data.
Untuk mendapatkan petunjuk tentang cara memperbarui periode perjalanan waktu untuk set data yang ada, lihat Memperbarui periode perjalanan waktu.
Jika stempel waktu menentukan waktu di luar periode perjalanan waktu, atau dari sebelum tabel dibuat, kueri akan gagal dan menampilkan error seperti berikut:
TableID
was created at time which is before its allowed time travel intervaltimestamp
. Creation time:timestamp
Perjalanan waktu dan akses tingkat baris
Jika tabel memiliki, atau telah memiliki, kebijakan akses tingkat baris, hanya administrator tabel yang dapat mengakses data historis untuk tabel tersebut.
Izin Identity and Access Management (IAM) berikut diperlukan:
Izin | Resource |
---|---|
bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
|
Tabel yang data historisnya sedang diakses |
Peran BigQuery berikut memberikan izin yang diperlukan:
Peran | Resource |
---|---|
roles/bigquery.admin
|
Tabel yang data historisnya sedang diakses |
Izin bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
tidak dapat ditambahkan ke peran khusus.
Jalankan perintah berikut untuk mendapatkan waktu epoch Unix yang setara:
date -d '2023-08-04 16:00:34.456789Z' +%s000
Ganti
1691164834000
waktu UNIX yang diterima dari perintah di atas pada alat command line bq. Jalankan perintah berikut untuk memulihkan salinan tabeldeletedTableID
yang dihapus di tabelrestoredTable
lain, dalam set datamyDatasetID
yang sama:bq cp myProjectID:myDatasetID.deletedTableID@1691164834000 myProjectID:myDatasetID.restoredTable
Fail-safe
BigQuery menyediakan periode fail-safe. Selama periode fail-safe, data yang dihapus akan otomatis disimpan selama tujuh hari lagi setelah periode perjalanan waktu usai, sehingga data tersedia untuk pemulihan darurat. Data dapat dipulihkan pada level tabel. Data dipulihkan untuk tabel dari titik waktu yang diwakili oleh stempel waktu saat tabel itu dihapus. Periode fail-safe tidak dapat dikonfigurasi.
Anda tidak dapat membuat kueri atau memulihkan data secara langsung di penyimpanan fail-safe. Untuk memulihkan data dari penyimpanan fail-safe, hubungi Cloud Customer Care.
Penagihan
Jika Anda menetapkan model penagihan penyimpanan ke model penagihan byte fisik, total biaya penyimpanan yang akan ditagihkan kepada Anda mencakup byte yang digunakan untuk penyimpanan perjalanan waktu dan fail-safe. Jika Anda menetapkan model penagihan penyimpanan ke model penagihan byte logis, total biaya penyimpanan yang ditagihkan kepada Anda tidak mencakup byte yang digunakan untuk penyimpanan perjalanan waktu atau fail-safe. Anda dapat mengonfigurasi periode perjalanan waktu untuk menyeimbangkan biaya penyimpanan dengan kebutuhan retensi data Anda.
Jika menggunakan penyimpanan fisik, Anda dapat melihat byte yang digunakan oleh perjalanan waktu dan fail-safe dengan melihat kolom TIME_TRAVEL_PHYSICAL_BYTES
dan FAIL_SAFE_PHYSICAL_BYTES
di tabel virtual TABLE_STORAGE
dan TABLE_STORAGE_BY_ORGANIZATION
.
Batasan
- Perjalanan waktu hanya memberikan akses ke data historis selama durasi periode perjalanan waktu. Agar dapat menyimpan data tabel untuk tujuan non-darurat selama durasi yang lebih lama dari periode perjalanan waktu, gunakan snapshot tabel.
- Jika tabel memiliki, atau sebelumnya memiliki, kebijakan akses tingkat baris, perjalanan waktu hanya dapat digunakan oleh administrator tabel. Untuk informasi selengkapnya, lihat Perjalanan waktu dan akses tingkat baris.
- Perjalanan waktu tidak memulihkan metadata tabel.
Langkah selanjutnya
- Pelajari cara membuat kueri dan memulihkan data perjalanan waktu.
- Pelajari snapshot tabel lebih lanjut.