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, dengan PITR Anda dapat memulihkan data dari titik waktu di masa lalu (hingga maksimum tujuh hari) dengan lancar. Jika memerlukan retensi data dalam jangka waktu yang lebih lama, Anda dapat menggunakan Pencadangan dan Pemulihan atau Ekspor dan Impor.
Secara default, database Anda menyimpan semua versi data dan skemanya selama satu jam. Anda dapat meningkatkan batas waktu ini menjadi selama tujuh hari melalui
opsi
version_retention_period
. Untuk mengetahui petunjuknya, lihat Menetapkan periode retensi data.
Spanner menyimpan data versi lama 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 dengan menentukan kondisi kueri dan stempel waktu di masa lalu, lalu tulis kembali hasilnya ke database live. Ini biasanya digunakan untuk operasi operasi pada {i>database<i} langsung. Misalnya, jika Anda tidak sengaja menghapus baris tertentu atau salah memperbarui subkumpulan data, Anda dapat memulihkannya dengan metode ini. Untuk mengetahui petunjuknya, lihat memulihkan sebagian database Anda.
Untuk memulihkan seluruh database, pencadangan atau ekspor database yang menentukan stempel waktu di masa lalu, lalu pulihkan atau impor ke database baru. Metode ini biasanya digunakan untuk memulihkan data dari masalah kerusakan saat Anda harus mengembalikan database ke titik waktu sebelum kerusakan terjadi. Perlu diperhatikan bahwa proses pencadangan atau ekspor database dapat memerlukan waktu beberapa jam, dan Anda tidak dapat memulihkan atau mengimpornya ke database yang sudah ada. Untuk mengetahui petunjuknya, baca memulihkan seluruh database.
Pertimbangan performa
Database dengan periode retensi data yang lebih lama dan, khususnya, yang sering menimpa data, menggunakan lebih banyak resource sistem. Hal ini dapat memengaruhi performa database, terutama jika instance Anda tidak disediakan dengan kapasitas komputasi yang cukup. Jika database Anda memiliki tingkat penggantian yang sangat tinggi (misalnya, jika database Anda ditimpa beberapa kali per hari), Anda dapat mempertimbangkan untuk meningkatkan periode retensi data secara bertahap dan memantau sistem. Berikut beberapa hal yang perlu diketahui:
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 karena database mengakumulasi versi data yang lebih lama. Hal ini karena data lama yang seharusnya sudah tidak berlaku lagi berdasarkan periode retensi data sebelumnya tidak lagi habis masa berlakunya. Jadi, misalnya, jika Anda meningkatkan periode retensi data dari 3 hari menjadi 7 hari, Anda harus menunggu selama 4 hari hingga 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 mengelola data versi lama. Pantau instance dan database Anda untuk memastikan bahwa latensi dan penggunaan CPU tetap pada tingkat yang dapat diterima.
Memperpanjang waktu untuk melakukan pembaruan skema. Periode retensi data yang meningkat berarti versi skema harus dipertahankan untuk durasi yang lebih lama, yang berpotensi menyebabkan pembaruan skema menjadi
throttled
saat menunggu resource server. Pastikan Anda mengikuti praktik terbaik untuk pembaruan skema dan tidak melebihi batas pembaruan skema.
Harga
Tidak ada biaya tambahan untuk menggunakan fungsi PITR. Namun, jika Anda meningkatkan periode retensi data versi database dari satu jam default, biaya penyimpanan database dan kapasitas komputasi mungkin meningkat. Biaya pencadangan sesuai permintaan tidak terpengaruh karena hanya satu versi database yang disimpan. Untuk informasi selengkapnya, lihat bagian Pertimbangan performa. Sebelum meningkatkan periode retensi data versi database, Anda dapat memperkirakan perkiraan peningkatan penyimpanan database.
Untuk informasi umum tentang penagihan Spanner, lihat Penetapan harga Spanner.
Langkah selanjutnya
- Pelajari lebih lanjut cara memulihkan data dengan PITR.