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:

Table ID was created at time which is
before its allowed time travel interval timestamp. 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 tabel deletedTableID yang dihapus di tabel restoredTable lain, dalam set data myDatasetID 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