Ringkasan pemulihan point-in-time (PITR)

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. Jika Anda memerlukan retensi data jangka panjang, 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 hingga tujuh hari melalui opsi version_retention_period. Untuk mengetahui petunjuknya, lihat Menetapkan periode retensi. Spanner menyimpan versi data sebelumnya dengan granularitas mikrodetik dan database mempertahankan earliest_version_time, yang menunjukkan waktu paling awal di masa lalu saat Anda dapat memulihkan versi data sebelumnya.

Cara memulihkan data

Ada tiga cara untuk memulihkan data:

  • Untuk memulihkan sebagian database, lakukan stale read dengan menentukan kondisi kueri dan stempel waktu sebelumnya, lalu tuliskan hasilnya ke database live terkait. 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 tabel tertentu, ekspor tabel dari stempel waktu sebelumnya dalam database yang sama, lalu impor kembali. Untuk mengetahui petunjuknya, lihat memulihkan tabel tertentu.

  • 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 pencadangan atau ekspor 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 cukup. Jika database Anda memiliki tingkat 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 diperhatikan:

  • Peningkatan penggunaan penyimpanan. Sebaiknya siapkan pemberitahuan penyimpanan untuk memastikan Anda tidak melebihi batas penyimpanan. Saat Anda meningkatkan periode retensi data, perlu diingat bahwa penggunaan penyimpanan akan meningkat secara bertahap saat database mengakumulasi versi data sebelumnya. Hal ini karena data lama yang akan berakhir masa berlakunya dalam periode retensi data 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 data yang lebih lama berarti versi skema harus dipertahankan untuk durasi yang lebih lama sehingga berpotensi menyebabkan pembaruan skema di- 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 akan meningkat. Biaya pencadangan sesuai permintaan tidak terpengaruh karena hanya satu versi database Anda 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 berikutnya