Buat cadangan

Anda dapat membuat cadangan database Spanner apa pun. Pencadangan ini lengkap, artinya berisi semua data dalam database (termasuk skema dan indeks sekunder) di version_time cadangan. Setiap perubahan pada data atau skema setelah version_time tidak disertakan dalam pencadangan. Pencadangan mencakup semua opsi database yang ditetapkan dengan perintah ALTER DATABASE SET OPTIONS, tetapi tidak menyertakan kebijakan Identity and Access Management (IAM). Saat Anda membuat cadangan, cadangan berada dalam instance, region, dan project yang sama dengan database sumbernya.

Anda dapat membuat cadangan dengan cara berikut:

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

Cara kerja pembuatan cadangan

Saat membuat cadangan, Anda harus menentukan database sumber, nama untuk resource cadangan, dan tanggal habis masa berlaku (hingga 1 tahun dari waktu pembuatan cadangan). Secara opsional, Anda juga dapat menentukan version_time, yang memungkinkan Anda mencadangkan database ke waktu sebelumnya. Kolom version_time biasanya digunakan untuk menyinkronkan cadangan beberapa database atau memulihkan data menggunakan pemulihan point-in-time. Jika version_time tidak ditentukan, maka nilai ini akan disetel ke create_time cadangan. Sistem membuat resource pencadangan dan operasi pencadangan yang berjalan lama untuk melacak progres pencadangan. Cadangan yang baru dibuat berada di instance, region, dan project yang sama dengan database sumbernya.

Untuk memastikan konsistensi eksternal cadangan, Spanner menyematkan konten database di create_time. Hal ini mencegah sistem pembersihan sampah memori menghapus nilai data yang relevan selama durasi operasi pencadangan. Kemudian, setiap zona baca-tulis dan hanya-baca dalam instance akan mulai menyalin data secara paralel. Jika ada zona yang tidak tersedia untuk sementara, pencadangan tidak akan selesai hingga zona tersebut kembali online dan selesai. Cadangan dapat dipulihkan segera setelah operasi selesai. Untuk instance multi-region, semua zona baca-tulis dan hanya baca di semua region harus menyelesaikan replika pencadangannya sebelum pencadangan ditandai sebagai dapat dipulihkan.

Cadangan juga mencakup skema aliran data perubahan database, tetapi bukan catatan perubahan yang sudah ada. Data aliran data perubahan ditujukan untuk di-streaming dan digunakan secara bersamaan dengan perubahan yang dijelaskannya. Oleh karena itu, Spanner mengecualikan data ini dari cadangan.

Enkripsi

Cadangan Spanner, seperti database, dienkripsi oleh enkripsi yang dikelola Google atau dikelola pelanggan. Secara default, cadangan menggunakan konfigurasi enkripsi yang sama dengan database-nya, tetapi Anda dapat mengganti perilaku ini dengan menentukan konfigurasi enkripsi yang berbeda saat membuat cadangan. Jika cadangan mengaktifkan CMEK, cadangan akan dienkripsi menggunakan versi utama kunci KMS pada saat pembuatan cadangan. Setelah cadangan dibuat, kunci dan versi kuncinya tidak dapat diubah, meskipun kunci KMS dirotasi. Untuk mengetahui informasi selengkapnya, lihat membuat cadangan yang mendukung CMEK.

Hierarki resource

Cadangan merupakan resource di Spanner. Setiap resource cadangan diatur dalam instance yang sama dengan database sumbernya dalam hierarki resource dan memiliki jalur resource dalam format projects/<project>/instances/<instance>/backups/<backup>. Cadangan akan tetap ada bahkan setelah database sumbernya dihapus, tetapi cadangan tersebut tidak dapat aktif lebih lama dibandingkan instance induknya. Untuk mencegah penghapusan cadangan secara tidak sengaja, Anda tidak dapat menghapus instance Spanner jika ada cadangan. Jika Anda ingin menghapus instance, sebaiknya pulihkan cadangan, lalu ekspor database yang dipulihkan, sebelum menghapus cadangan dan instance.

Waktu pencadangan dan performa

Saat melakukan pencadangan, Spanner membuat tugas pencadangan untuk menyalin data langsung dari database ke penyimpanan cadangan, dan mengukur tugas ini berdasarkan ukuran database. Tugas pencadangan ini tidak menggunakan resource CPU yang dialokasikan ke instance database sehingga tidak memengaruhi performa instance. Selain itu, beban komputasi pada instance database tidak memengaruhi kecepatan operasi pencadangan. Untuk melacak progres dan penyelesaian operasi pencadangan, lihat Menampilkan progres pencadangan.

Sebagai referensi umum, sebagian besar pencadangan memerlukan waktu 1-4 jam. Beberapa cadangan mungkin memerlukan waktu lebih lama karena ukurannya atau karena ada antrean internal untuk resource. Jika pencadangan memerlukan waktu lebih lama dari biasanya ketika tidak ada faktor lain yang berubah, ini mungkin karena keterlambatan penjadwalan tugas pencadangan di suatu zona. Proses ini terkadang dapat memerlukan waktu hingga 30 menit. Sebaiknya jangan membatalkan dan memulai ulang pencadangan, karena kemungkinan Anda akan mengalami keterlambatan penjadwalan yang sama dengan operasi pencadangan baru.

Kontrol akses (IAM)

Peran spanner.backupAdmin dan spanner.backupWriter memberi Anda izin untuk membuat cadangan. Dengan salah satu peran ini, Anda dapat memanggil permintaan buat pencadangan pada instance. Untuk mengetahui informasi selengkapnya, lihat Kontrol akses dengan IAM.

Harga

Anda ditagih berdasarkan jumlah penyimpanan yang digunakan oleh cadangan Anda per unit waktu. Penagihan dimulai setelah operasi pembuatan pencadangan selesai dan akan berlanjut hingga cadangan dihapus. Pencadangan yang selesai akan ditagih minimal selama 24 jam. Jika Anda membuat cadangan, lalu menghapusnya satu menit setelah pencadangan selesai, Anda tetap akan ditagih selama 24 jam.

Langkah selanjutnya