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
. Aplikasi 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.
Ini tidak akan menyertakan data internal dari aliran perubahan apa pun. Saat Anda memulihkan dari cadangan, cadangan yang dipulihkan 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 memulihkan dari cadangan yang disalin.
Anda dapat menggunakan pemulihan dari cadangan dengan cara berikut:
- Di Konsol Google Cloud
- Menggunakan Google Cloud CLI
- Menggunakan library klien
- Menggunakan REST atau RPC API
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.
Database yang baru dipulihkan harus berada dalam project yang sama dengan cadangannya dan berada dalam instance dengan konfigurasi instance yang sama dengan cadangannya.
Misalnya, jika cadangan berada dalam instance yang dikonfigurasi us-west3
, cadangan dapat
dipulihkan ke instance mana pun dalam project yang juga dikonfigurasi us-west3
. Kapasitas komputasi instance tidak harus sama.
Proses pemulihan dirancang untuk ketersediaan tinggi. Database dapat dipulihkan asalkan kuorum mayoritas region dan zona di instance tersedia.
Untuk memulihkan cadangan dengan CMEK, versi kunci dan kunci harus tersedia untuk Spanner. Secara default, database yang dipulihkan menggunakan konfigurasi enkripsi yang sama dengan cadangannya. Anda dapat mengganti perilaku ini dengan menentukan konfigurasi enkripsi berbeda saat memulihkan database. Untuk informasi selengkapnya, lihat memulihkan dari cadangan dengan CMEK aktif.
Memulihkan cadangan ke region atau project yang berbeda
Jika Anda perlu memulihkan cadangan ke region atau project yang berbeda, salin cadangan ke region atau project yang dipilih terlebih dahulu. Cadangan yang disalin dapat dipulihkan segera setelah penyalinan selesai. Anda dapat memulihkan cadangan baik di instance tujuan maupun pada instance mana saja yang memiliki konfigurasi instance yang sama dengan instance tujuan. Sebelum melakukan pemulihan, pastikan instance tujuan memiliki node atau unit pemrosesan cukup yang disediakan untuk mendukung ukuran database sesuai dengan batas penyimpanan node 4 TB per node (misalnya, Anda memerlukan setidaknya 2 node untuk memulihkan cadangan sebesar 8 TB). Jika Anda telah menyalin cadangan ke project lain, dan jika ingin memulihkannya di sana, pastikan project tujuan Anda memiliki cukup kuota node yang diperlukan untuk pemulihan. Pemulihan cadangan yang disalin berfungsi dengan cara yang sama seperti pemulihan normal.
Status pemulihan
Database yang dipulihkan melakukan transisi melalui tiga status, yang dilacak oleh dua operasi yang berjalan lama.
CREATING
: Spanner mulai melakukan pemulihan dengan membuat database baru dan memasang file dari cadangan. Selama statusCREATING
awal ini, database yang dipulihkan belum siap digunakan. Status ini biasanya selesai dalam waktu satu jam. Setelah statusCREATING
selesai, database Anda siap digunakan.Untuk melacak progres status ini, Anda dapat membuat kueri operasi pemulihan yang berjalan lama yang tersedia Spanner selama proses ini. Metode ini akan menampilkan objek
RestoreDatabaseMetadata
.Perhatikan peringatan berikut terkait status
CREATING
:- Jika Anda melakukan pemulihan ke instance yang berbeda, 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
. - Sebuah 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 beralih ke statusREADY_OPTIMIZING
atauREADY
.
READY_OPTIMIZING
: Setelah memasang cadangan, Spanner akan mulai menyalin data cadangan ke dalam 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, karena transfer data masih berlangsung, metrik penyimpanan Spanner mungkin menampilkan hasil yang tidak mencerminkan ukuran total semua data Anda.
- Seperti status
CREATING
, Spanner tidak akan mengizinkan Anda menghapus cadangan yang terpasang.
Spanner menyediakan operasi pemulihan yang berjalan lama lainnya selama status ini, yang kali ini menampilkan objek metadata
OptimizeRestoredDatabaseMetadata
.READY
: Setelah operasi salin dan optimalkan selesai, database akan bertransisi ke statusREADY
. Database sepenuhnya dipulihkan, 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
Pemulihan dari cadangan tidak dikenai biaya.
Langkah selanjutnya
- Untuk memulihkan database dari cadangan, lihat Memulihkan dari cadangan.