Pemulihan point-in-time (PITR) Spanner memberikan perlindungan terhadap penghapusan atau penulisan yang tidak disengaja. Misalnya, jika operator tidak sengaja menulis data atau peluncuran aplikasi merusak database, Anda dapat memulihkan data dari satu titik waktu sebelumnya dengan PITR hingga maksimum tujuh hari dengan lancar. Jika memerlukan retensi data jangka panjang, Anda dapat menggunakan Cadangkan dan Pulihkan atau Ekspor dan Impor.
Secara default, database Anda menyimpan semua versi data dan skemanya selama satu jam. Anda dapat meningkatkan batas waktu ini hingga tujuh hari melalui opsi
version_retention_period
. Untuk mengetahui petunjuknya, lihat Menetapkan periode retensi.
Spanner menyimpan versi lama data dengan perincian mikrodetik dan database mempertahankan earliest_version_time
, yang mewakili waktu paling awal di masa lalu saat Anda dapat memulihkan versi lama data.
Cara memulihkan data
Ada dua cara untuk memulihkan data:
Untuk memulihkan sebagian database, lakukan pembacaan yang sudah tidak berlaku yang menentukan kondisi kueri dan stempel waktu sebelumnya, lalu tuliskan hasilnya kembali ke database live. Hal ini biasanya digunakan untuk operasi bedah pada database live. Misalnya, jika Anda tidak sengaja menghapus baris tertentu atau salah memperbarui subset data, Anda dapat memulihkannya dengan metode ini. Untuk mengetahui petunjuknya, lihat memulihkan sebagian database Anda.
Untuk memulihkan seluruh database, cadangkan atau ekspor database yang menentukan stempel waktu sebelumnya, lalu pulihkan atau impor ke database baru. Hal ini biasanya digunakan untuk memulihkan dari masalah kerusakan data saat Anda harus mengembalikan database ke titik waktu sebelum kerusakan terjadi. Perhatikan bahwa membuat cadangan atau mengekspor database dapat memerlukan waktu beberapa jam dan Anda tidak dapat memulihkan atau mengimpor ke database yang ada. Untuk mengetahui petunjuknya, lihat memulihkan seluruh database.
Pertimbangan performa
Database dengan periode retensi yang lebih lama dan, khususnya, database yang sering menimpa data, menggunakan lebih banyak resource sistem. Hal ini dapat memengaruhi performa database Anda, terutama jika instance Anda tidak disediakan dengan kapasitas komputasi yang memadai. Jika database Anda memiliki tingkat penimpaan yang sangat tinggi (misalnya, jika database Anda ditimpa beberapa kali per hari), sebaiknya pertimbangkan untuk meningkatkan periode retensi secara bertahap dan memantau sistem. Berikut beberapa hal yang perlu diperhatikan:
Peningkatan penggunaan penyimpanan. Sebaiknya siapkan pemberitahuan penyimpanan untuk memastikan Anda tidak melebihi batas penyimpanan. Saat Anda meningkatkan periode retensi, perlu diingat bahwa penggunaan penyimpanan akan meningkat secara bertahap seiring database mengumpulkan data versi lama. Hal ini karena data lama yang akan berakhir masa berlakunya berdasarkan periode retensi sebelumnya, tidak lagi berakhir masa berlakunya. Jadi, misalnya, jika Anda meningkatkan periode retensi dari 3 hari menjadi 7 hari, Anda harus menunggu selama 4 hari agar penggunaan penyimpanan database menjadi stabil. Kami juga memberikan petunjuk untuk memperkirakan peningkatan penyimpanan.
Peningkatan penggunaan dan latensi CPU. Spanner menggunakan resource komputasi tambahan untuk memadatkan dan mempertahankan versi lama data. Pantau instance dan database Anda untuk memastikan latensi dan penggunaan CPU tetap berada pada tingkat yang dapat diterima.
Peningkatan waktu untuk melakukan pembaruan skema. Peningkatan periode retensi data berarti versi skema harus disimpan selama durasi yang lebih lama, yang berpotensi menyebabkan update skema menjadi
throttled
saat menunggu resource server. Pastikan Anda mengikuti praktik terbaik untuk pembaruan skema dan tetap berada dalam batas untuk pembaruan skema.
Harga
Tidak ada biaya tambahan untuk menggunakan fungsi PITR. Namun, jika Anda meningkatkan periode retensi versi database dari satu jam default, biaya penyimpanan database dan kapasitas komputasi Anda mungkin akan meningkat. Biaya pencadangan sesuai permintaan Anda tidak terpengaruh karena hanya satu versi database yang disimpan. Untuk mengetahui informasi selengkapnya, lihat bagian Pertimbangan performa. Sebelum meningkatkan periode retensi versi database, Anda dapat memperkirakan peningkatan penyimpanan database yang diharapkan.
Untuk mengetahui informasi umum tentang cara penagihan Spanner, lihat Harga Spanner.
Langkah selanjutnya
- Pelajari lebih lanjut cara memulihkan data dengan PITR.