Memulihkan ringkasan

Anda dapat memulihkan cadangan database Spanner ke dalam database baru. Database yang dipulihkan akan memiliki semua data dan skema dari database asli pada version_time cadangan, termasuk semua opsi database yang ditetapkan dengan perintah ALTER DATABASE SET OPTIONS. Namun, item berikut tidak disertakan dalam database yang dipulihkan:

  • Izin Identity and Access Management (IAM) (kecuali yang diwarisi dari instance yang berisi database yang dipulihkan). Anda harus menerapkan izin IAM yang sesuai setelah pemulihan selesai.
  • Data internal dari setiap aliran perubahan.
  • Time to live (TTL) yang ditentukan oleh kebijakan penghapusan baris. Anda harus mengonfigurasi ulang kebijakan ini setelah pemulihan selesai. Untuk mengetahui informasi selengkapnya, lihat Pencadangan dan TTL.
  • Titik pemisahan yang Anda buat saat melakukan pra-pemisahan database. Untuk mengetahui informasi selengkapnya, lihat Ringkasan pra-pemisahan.

Jika Anda perlu memulihkan dari cadangan di region atau project lain karena alasan kepatuhan atau kelangsungan bisnis, Anda dapat menyalin cadangan ke instance di region atau project terpisah, lalu memulihkan dari cadangan yang disalin.

Anda dapat menggunakan pemulihan dari cadangan dengan cara berikut:

Cara kerja pemulihan database dari cadangan

Saat memulihkan database Spanner, Anda harus menentukan cadangan sumber dan database target baru. Anda tidak dapat memulihkan ke database yang ada. Pulihkan database ke project yang sama dengan cadangan. Instance tujuan harus menggunakan konfigurasi instance yang sama dengan instance cadangan. Instance tujuan memungkinkan Anda menggunakan kapasitas komputasi yang berbeda dari instance sumber.

Saat memulihkan database, pertimbangkan aturan kompatibilitas berikut untuk edisi Spanner:

  • Spanner mendukung pemulihan database ke instance yang menggunakan edisi tingkat yang sama atau lebih tinggi daripada instance cadangan.
  • Anda dapat memulihkan database ke instance yang menggunakan edisi tingkat yang lebih rendah. Namun, operasi pemulihan akan gagal jika database menggunakan fitur yang tidak tersedia di edisi tingkat bawah.

Untuk memulihkan cadangan ke instance dengan konfigurasi instance yang berbeda atau dalam project yang berbeda, Anda dapat menyalin cadangan terlebih dahulu ke region atau project target.

Misalnya, jika Anda memiliki cadangan di instance yang menggunakan konfigurasi us-west3, Anda dapat memulihkan cadangan ke instance mana pun dalam project yang juga menggunakan konfigurasi us-west3. Namun, untuk memulihkan cadangan tersebut ke instance yang menggunakan konfigurasi us-east1 atau ke instance dalam project lain, Anda harus menyalin cadangan terlebih dahulu ke instance di region atau project target, lalu memulihkan dari cadangan yang disalin.

Proses pemulihan dirancang untuk ketersediaan tinggi. Anda dapat memulihkan database asalkan kuorum mayoritas wilayah dan zona di instance target tersedia.

Untuk memulihkan cadangan yang diaktifkan dengan kunci enkripsi yang dikelola pelanggan (CMEK), kunci dan versi 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 yang berbeda saat memulihkan database. Untuk mengetahui informasi selengkapnya, lihat memulihkan dari cadangan yang diaktifkan oleh CMEK.

Anda dapat memulihkan database ke edisi tingkat yang lebih rendah hanya jika database menggunakan fitur yang tersedia di edisi tingkat yang lebih rendah tersebut. Misalnya, jika database menggunakan partisi geografis, Anda harus memulihkan database ke instance yang menggunakan edisi Enterprise Plus.

Memulihkan cadangan ke region atau project lain

Jika Anda perlu memulihkan cadangan ke region atau project lain, salin cadangan terlebih dahulu ke region atau project yang dipilih. Anda dapat memulihkan cadangan yang disalin segera setelah penyalinan selesai. Sebelum memulihkan, pastikan instance tujuan memiliki node atau unit pemrosesan yang cukup yang disediakan untuk mendukung ukuran database sesuai dengan batas penyimpanan 10 TB per node. Misalnya, Anda memerlukan minimal 2 node untuk memulihkan cadangan 20 TB. Jika Anda telah menyalin cadangan ke project lain, dan jika Anda ingin memulihkannya di sana, pastikan project tujuan Anda memiliki kuota node yang cukup untuk pemulihan. Memulihkan cadangan yang disalin berfungsi sama dengan pemulihan normal.

Status pemulihan

Database yang dipulihkan bertransisi melalui tiga status, yang dilacak oleh dua operasi yang berjalan lama.

  • CREATING: Spanner memulai pemulihan dengan membuat database baru dan memuat 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 mengkueri operasi pemulihan yang berjalan lama yang disediakan Spanner selama proses ini. Metode ini menampilkan objek RestoreDatabaseMetadata.

    Perhatikan peringatan berikut terkait status CREATING:

    • Jika Anda memulihkan ke instance lain, operasi pemulihan 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 hingga salah satu dari sepuluh database yang dipulihkan bertransisi ke status READY_OPTIMIZING atau READY.
  • READY_OPTIMIZING: Setelah memasang cadangan, Spanner akan mulai menyalin data cadangan ke dalam database baru sambil mengoptimalkan ukuran yang disimpan. 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, berlaku peringatan berikut:

    • 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 pada status CREATING, Spanner tidak akan mengizinkan Anda menghapus cadangan yang di-mount.

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

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

Kontrol akses (IAM)

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

Peran berikut juga memiliki akses ke operasi pemulihan Spanner:

  • spanner.admin: memiliki akses penuh untuk memulihkan. Peran ini memiliki akses lengkap ke semua resource Spanner.
  • owner: memiliki akses penuh untuk memulihkan.
  • editor: memiliki akses penuh untuk memulihkan.
  • viewer: memiliki akses untuk melihat operasi pemulihan dan pemulihan. Peran ini tidak dapat membuat, memperbarui, menghapus, atau menyalin cadangan.

Harga

Tidak ada biaya untuk memulihkan dari cadangan.

Langkah berikutnya