Pemulihan point-in-time (PITR) Spanner memberikan perlindungan terhadap penghapusan atau penulisan yang tidak disengaja. Misalnya, jika operator tidak sengaja menulis data atau peluncuran sebuah aplikasi merusak database, Anda dapat memulihkan data dari satu titik waktu sebelumnya dengan PITR (hingga maksimum tujuh hari) dengan lancar. Jika Anda memerlukan retensi data jangka panjang, Anda dapat menggunakan Pencadangan dan Pemulihan atau Ekspor dan Impor.
Secara default, database Anda mempertahankan semua versi data dan skemanya selama satu jam. Anda dapat memperpanjang batas waktu ini hingga tujuh hari melalui opsi
version_retention_period
. Untuk mengetahui petunjuknya, lihat Menetapkan periode retensi.
Spanner menyimpan versi data sebelumnya dengan perincian mikrodetik dan database mempertahankan earliest_version_time
,
yang merepresentasikan waktu paling awal di masa lalu yang dapat Anda gunakan untuk memulihkan versi data sebelumnya.
Cara memulihkan data
Ada dua cara untuk memulihkan data:
Untuk memulihkan sebagian database, lakukan stale read dengan menentukan kondisi kueri dan stempel waktu yang lampau, 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 di masa lalu, lalu pulihkan atau impor ke database baru. Opsi ini biasanya digunakan untuk memulihkan dari masalah kerusakan data saat Anda harus mengembalikan database ke titik waktu sebelum kerusakan terjadi. Perhatikan bahwa mencadangkan 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 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 rasio penimpaan yang sangat tinggi (misalnya, jika database Anda ditimpa beberapa kali per hari), Anda dapat mempertimbangkan untuk meningkatkan periode retensi secara bertahap dan memantau sistem. Berikut beberapa hal yang perlu diketahui:
Peningkatan pemanfaatan 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 saat database mengumpulkan versi data sebelumnya. Hal ini karena data lama yang akan berakhir masa berlakunya dalam jangka waktu 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 stabil. Kami juga memberikan petunjuk untuk memperkirakan peningkatan penyimpanan.
Peningkatan penggunaan CPU dan latensi. Spanner menggunakan resource komputasi tambahan untuk memadatkan dan mempertahankan versi data sebelumnya. Pantau instance dan database Anda untuk memastikan latensi dan penggunaan CPU tetap berada pada tingkat yang dapat diterima.
Peningkatan waktu untuk melakukan pembaruan skema. Periode retensi yang lebih lama berarti versi skema harus dipertahankan untuk durasi yang lebih lama sehingga berpotensi menyebabkan pembaruan 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 PITR. Namun, jika Anda meningkatkan periode retensi versi database dari satu jam default, biaya penyimpanan dan kapasitas komputasi database Anda mungkin meningkat. Biaya pencadangan sesuai permintaan Anda tidak terpengaruh karena hanya satu versi database Anda yang disimpan. Untuk mengetahui informasi selengkapnya, lihat bagian Pertimbangan performa. Sebelum memperpanjang periode retensi versi database, Anda dapat memperkirakan peningkatan penyimpanan database yang diharapkan.
Untuk mengetahui informasi umum tentang cara penagihan Spanner, lihat Harga Spanner.
Langkah berikutnya
- Pelajari lebih lanjut cara memulihkan data dengan PITR.