Memulihkan dari cadangan

Anda dapat memulihkan cadangan database Spanner ke dalam database baru. Database yang dipulihkan akan memiliki semua data dan skema dari database asli di version_time cadangan, termasuk semua opsi database yang ditetapkan dengan perintah ALTER DATABASE SET OPTIONS. Akun ini tidak akan memiliki izin IAM apa pun (kecuali untuk yang diwarisi dari instance yang berisi database yang dipulihkan), dan Anda harus menerapkan izin IAM yang sesuai setelah pemulihan selesai. Hal ini tidak akan mencakup data internal aliran data perubahan apa pun. Saat Anda melakukan pemulihan dari cadangan, cadangan yang dipulihkan akan berada di instance, region, dan project yang sama dengan cadangan sumbernya. Jika Anda perlu memulihkan dari cadangan di region atau project yang berbeda karena alasan kepatuhan atau kelangsungan bisnis, Anda dapat menyalin cadangan ke instance di region atau project terpisah, lalu memulihkannya dari cadangan yang disalin.

Anda dapat menggunakan pemulihan dari cadangan dengan cara berikut:

Untuk ringkasan mengenai pencadangan dan pemulihan, lihat Tentang pencadangan dan pemulihan.

Cara kerja pemulihan dari cadangan

Saat memulihkan database Spanner, Anda harus menentukan cadangan sumber dan database target baru. Anda tidak dapat memulihkan ke database yang sudah ada. Database yang baru dipulihkan harus berada dalam project yang sama dengan cadangan dan berada dalam instance dengan konfigurasi instance yang sama seperti cadangannya. Misalnya, jika cadangan berada dalam instance us-west3 yang dikonfigurasi, cadangan tersebut dapat dipulihkan ke instance apa pun dalam project yang juga mengonfigurasi us-west3. Kapasitas komputasi instance tidak harus sama.

Proses pemulihan dirancang untuk ketersediaan tinggi. Database dapat dipulihkan asalkan kuorum mayoritas region dan zona dalam instance tersedia.

Untuk memulihkan cadangan yang mendukung CMEK, versi kunci dan kunci harus tersedia untuk Spanner. Database yang dipulihkan, secara default, menggunakan konfigurasi enkripsi yang sama dengan cadangan. Anda dapat mengganti perilaku ini dengan menentukan konfigurasi enkripsi lain saat memulihkan database. Untuk informasi selengkapnya, lihat memulihkan dari cadangan yang mendukung CMEK.

Memulihkan cadangan ke region atau project yang berbeda

Jika Anda perlu memulihkan cadangan ke region atau project yang berbeda, pertama-tama, salin cadangan ke region atau project yang dipilih. Cadangan yang disalin dapat dipulihkan segera setelah penyalinan selesai. Anda dapat memulihkan cadangan di instance tujuan atau dalam instance apa pun yang memiliki konfigurasi instance yang sama dengan instance tujuan. Sebelum memulihkan, pastikan instance tujuan memiliki node atau unit pemrosesan yang cukup untuk mendukung ukuran database sesuai dengan batas penyimpanan 4 TB per node (misalnya, Anda memerlukan setidaknya 2 node untuk memulihkan cadangan 8 TB). Jika Anda telah menyalin cadangan ke project lain, dan jika ingin memulihkannya di sana, pastikan project tujuan Anda memiliki kuota node yang cukup yang diperlukan untuk pemulihan. Pemulihan cadangan yang disalin memiliki cara kerja yang sama seperti pemulihan normal.

Status pemulihan

Transisi database yang dipulihkan melalui tiga status, dilacak oleh dua operasi yang berjalan lama.

  • CREATING: Spanner memulai pemulihan dengan membuat database baru dan memasang file dari cadangan. Selama status CREATING awal ini, database yang dipulihkan belum siap digunakan. Status ini biasanya selesai dalam waktu satu jam. Setelah status CREATING selesai, database Anda siap digunakan.

    Untuk melacak progres status ini, Anda dapat membuat kueri operasi pemulihan yang berjalan lama yang disediakan Spanner selama proses ini. Metode ini akan menampilkan objek RestoreDatabaseMetadata.

    Perhatikan peringatan berikut terkait status CREATING:

    • Jika Anda melakukan pemulihan ke instance lain, operasi pemulihan adalah milik instance yang berisi database yang dipulihkan, bukan instance yang berisi cadangan.
    • Spanner tidak akan mengizinkan Anda menghapus cadangan saat sedang dipulihkan. Anda dapat menghapusnya setelah pemulihan selesai dan database memasuki status READY.
    • Instance dapat memiliki maksimal sepuluh database dalam status CREATING karena pemulihan dari cadangan. Anda tidak akan dapat memulihkan cadangan lain ke instance sampai salah satu dari sepuluh database yang dipulihkan bertransisi ke status READY_OPTIMIZING atau READY.
  • READY_OPTIMIZING: Setelah memasang cadangan, Spanner mulai menyalin data cadangan ke database baru sekaligus mengoptimalkan ukuran yang tersimpan. Database Anda siap digunakan selama proses ini. Fase pemulihan ini biasanya memerlukan waktu beberapa jam untuk diselesaikan untuk database yang berukuran kurang dari 100 TB.

    Meskipun Anda dapat menggunakan database seperti biasa selama READY_OPTIMIZING, peringatan berikut berlaku:

    • Latensi baca mungkin sedikit lebih tinggi dari biasanya.
    • Metrik penyimpanan menampilkan ukuran database baru, bukan cadangan. Oleh karena itu, saat transfer data masih berlangsung, metrik penyimpanan Spanner mungkin menampilkan hasil yang tidak mencerminkan total ukuran semua data Anda.
    • Seperti halnya status CREATING, Spanner tidak akan mengizinkan Anda menghapus cadangan yang terpasang.

    Spanner akan menyediakan operasi pemulihan yang berjalan lama lainnya selama status ini, kali ini akan menampilkan objek metadata OptimizeRestoredDatabaseMetadata.

  • READY: Setelah operasi salin dan optimalkan selesai, database bertransisi ke status READY. Database telah dipulihkan sepenuhnya, dan tidak lagi mereferensikan atau memerlukan cadangan.

Kontrol akses (IAM)

Peran spanner.restoreAdmin memberi Anda izin untuk memulihkan dari cadangan. Untuk mengetahui informasi selengkapnya, lihat Kontrol akses dengan IAM.

Harga

Pemulihan dari cadangan tidak dikenai biaya.

Langkah selanjutnya