Retensi data dengan perjalanan waktu dan fail-safe

Dokumen ini menjelaskan periode 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 dihapus, atau memulihkan tabel yang telah 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. Default tingkat project juga dapat dikonfigurasi.

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 periode perjalanan waktu selama dua hari, lalu meningkatkan durasinya menjadi tujuh hari, tabel yang dihapus sebelum perubahan tersebut tetap hanya dapat dipulihkan selama dua hari. Demikian pula, jika Anda memiliki durasi periode perjalanan waktu lima hari dan Anda mengurangi durasi tersebut menjadi tiga hari, tabel apa pun yang dihapus sebelum perubahan tersebut akan tetap dapat dipulihkan selama lima hari.

Karena periode perjalanan waktu ditetapkan di tingkat set data, Anda tidak dapat mengubah periode perjalanan waktu set data yang telah 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 epoch UNIX yang diterima dari perintah sebelumnya di 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, Anda akan ditagih secara terpisah untuk byte yang digunakan untuk penyimpanan perjalanan waktu dan fail-safe. Penyimpanan perjalanan waktu dan fail-safe dikenai biaya sesuai dengan tarif penyimpanan fisik aktif. Anda dapat mengonfigurasi periode perjalanan waktu untuk menyeimbangkan biaya penyimpanan dengan kebutuhan retensi data Anda.

Jika Anda menetapkan model penagihan penyimpanan ke model penagihan byte logis, total biaya penyimpanan untuk penyimpanan perjalanan waktu dan fail-safe disertakan dalam tarif dasar yang dikenakan kepada Anda.

Tabel berikut menunjukkan perbandingan biaya penyimpanan fisik dan logis:

Model penagihan Apa yang Anda bayar?
Penyimpanan fisik (terkompresi)
  • Anda membayar untuk byte aktif
  • Anda membayar penyimpanan jangka panjang
  • Anda membayar penyimpanan perjalanan waktu
  • Anda membayar penyimpanan yang aman
Penyimpanan logis (tidak dikompresi) (setelan default)
  • Anda membayar untuk penyimpanan aktif
  • Anda membayar penyimpanan jangka panjang
  • Anda tidak perlu membayar untuk penyimpanan perjalanan waktu
  • Anda tidak perlu membayar penyimpanan yang aman

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. Untuk contoh cara menggunakan salah satu tampilan ini guna memperkirakan biaya, lihat Memperkirakan penagihan penyimpanan.

Biaya penyimpanan berlaku untuk data time travel dan fail-safe, tetapi Anda hanya ditagih jika biaya penyimpanan data tidak berlaku di tempat lain di BigQuery. Detail berikut berlaku:

  • Saat tabel dibuat, tidak ada biaya penyimpanan perjalanan waktu atau fail-safe.
  • Jika data diubah atau dihapus, Anda akan dikenai biaya untuk penyimpanan data yang diubah atau dihapus yang disimpan oleh perjalanan waktu selama periode perjalanan waktu dan periode fail-safe. Hal ini mirip dengan harga penyimpanan untuk snapshot dan clone tabel.

Contoh retensi data

Tabel berikut menunjukkan cara data yang dihapus atau diubah berpindah di antara periode retensi penyimpanan. Contoh ini menunjukkan situasi saat total penyimpanan aktif adalah 200 GiB dan 50 GiB dihapus dengan periode perjalanan waktu tujuh hari:

Hari ke-0 Hari ke-1 Hari ke-2 Hari ke-3 Hari 4 Hari 5 Hari 6 Hari ke-7 Hari 8 Hari 9 Hari ke-10 Hari 11 Hari ke-12 Hari ke-13 Hari ke-14 Hari ke-15
Penyimpanan aktif 200 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150
Penyimpanan perjalanan waktu 50 50 50 50 50 50 50
Penyimpanan fail-safe 50 50 50 50 50 50 50

Menghapus data dari penyimpanan fisik jangka panjang juga dilakukan dengan cara yang sama.

Batasan

Langkah selanjutnya