Pemulihan dari bencana (disaster recovery) yang terkelola
Dokumen ini memberikan ringkasan tentang bencana terkelola BigQuery pemulihan data dan cara menerapkannya untuk data dan beban kerja Anda.
Ringkasan
BigQuery mendukung skenario pemulihan dari bencana dalam kasus total pemadaman layanan region. Pemulihan dari bencana (disaster recovery) BigQuery bergantung pada replikasi set data lintas region untuk mengelola failover penyimpanan tersebut. Setelah membuat replika set data di region sekunder, Anda dapat mengontrol perilaku failover untuk komputasi dan penyimpanan guna mempertahankan bisnis kontinuitas selama pemadaman. Setelah failover, Anda dapat mengakses kapasitas komputasi (slot) dan set data replika di region yang dipromosikan. Pemulihan dari bencana adalah hanya didukung dengan paket Enterprise Plus edisi.
Pemulihan dari bencana terkelola akan melakukan failover berat saat failover dimulai.
Dalam failover keras, replika reservasi dan set data di region sekunder
segera dipromosikan menjadi wilayah utama, meskipun wilayah utama sebelumnya
mati, tanpa menunggu replikasi
dari data yang tidak direplikasi. Karena
ini, kehilangan data dapat
terjadi selama failover keras. Setiap pekerjaan yang meng-commit data di
region sumber sebelum nilai replika
replication_time
mungkin perlu dijalankan kembali di region tujuan setelah failover.
Untuk mengaktifkan pemulihan dari bencana, Anda diharuskan membuat Reservasi edisi Enterprise Plus di region utama, yang merupakan region region tempat set data berada sebelum failover. Kapasitas komputasi standby berpasangan yang tercakup dalam reservasi Enterprise Plus. Kemudian, lampirkan yang ditetapkan ke reservasi ini untuk mengaktifkan failover set data tersebut. Anda hanya dapat melampirkan set data ke reservasi jika set data diisi ulang dan memiliki lokasi utama dan sekunder yang dipasangkan sebagai reservasi. Setelah {i>dataset<i} dilampirkan ke reservasi failover, hanya reservasi Enterprise Plus dapat membaca atau menulis ke set data tersebut dan Anda tidak dapat melakukan operasi lintas region replikasi pada set data. Untuk selengkapnya informasi tentang reservasi, lihat Pengantar workload pengelolaan akun.
Kapasitas komputasi region utama Anda tersedia di region sekunder segera setelah failover. Ketersediaan ini berlaku untuk dasar pemesanan, baik itu digunakan maupun tidak.
Anda harus secara aktif memilih untuk gagal sebagai bagian dari pengujian atau sebagai respons terhadap bencana yang sebenarnya. Anda tidak boleh gagal lebih dari sekali dalam periode 10 menit. Di beberapa skenario replikasi data, pengisian ulang mengacu pada proses mengisi replika set data dengan data historis yang sudah ada sebelum replikanya dibuat atau menjadi aktif. Set data harus menyelesaikan pengisian ulang sebelum Anda dapat gagal saat beralih ke {i>dataset<i}.
Diagram berikut menunjukkan arsitektur pemulihan dari bencana yang dikelola:
Batasan
Batasan berikut berlaku untuk pemulihan dari bencana (disaster recovery) BigQuery:
Pemulihan dari bencana (disaster recovery) BigQuery memiliki batasan yang sama sebagai replikasi set data lintas region.
Dukungan wilayah didasarkan pada dual-region bucket.
Jika set data BigQuery Anda berada di multi-region, Anda tidak dapat melakukan konfigurasi pasangan region berikut. Keterbatasan ini memastikan bahwa data terpisah secara geografis setelah replikasi. Untuk mengetahui informasi selengkapnya tentang di beberapa region, lihat Multi-region.
- Multi-region
us-central1
-us
- Multi-region
us-west1
-us
- Multi-region
eu-west1
-eu
- Multi-region
eu-west4
-eu
- Multi-region
Penskalaan otomatis setelah failover bergantung pada ketersediaan kapasitas komputasi di platform sekunder teritorial Anda. Hanya dasar pengukuran reservasi yang tersedia di region sekunder.
INFORMATION_SCHEMA.RESERVATIONS
tampilan tidak memiliki failover spesifikasi pendukung.Jika Anda memiliki beberapa reservasi failover dengan administrasi yang sama tetapi yang {i>dataset<i} yang dilampirkan menggunakan lokasi sekunder yang berbeda, jangan gunakan satu reservasi failover dengan set data dilampirkan ke failover yang berbeda pemesanan tambahan.
Jika Anda ingin mengonversi reservasi yang ada menjadi reservasi failover, reservasi yang ada tidak boleh memiliki lebih dari 1.000 tugas.
Sebelum memulai
- Pastikan Anda memiliki
bigquery.reservations.update
Izin Identity and Access Management (IAM) untuk memperbarui reservasi. - Pastikan Anda sudah memiliki set data yang dikonfigurasi untuk replikasi. Untuk informasi selengkapnya, lihat Mereplikasi set data.
Kuota
Anda harus sudah memilih kapasitas komputasi di region sekunder sebelum mengonfigurasi pemesanan failover. Jika tidak ada kuota yang tersedia di region sekunder, Anda tidak dapat mengonfigurasi pemesanan. Untuk informasi selengkapnya, lihat Kuota dan batasan ini.
Harga
Konfigurasi pemulihan dari bencana (disaster recovery) yang terkelola memerlukan paket harga berikut:
Kapasitas komputasi: Anda harus membeli edisi Enterprise Plus.
Replikasi turbo: Pemulihan dari bencana mengandalkan Turbo replikasi selama replikasi. Anda ditagih berdasarkan byte fisik dan per GB fisik yang direplikasi. Untuk informasi selengkapnya, lihat Harga Cloud Storage.
Penyimpanan: Byte penyimpanan di region sekunder ditagih dengan harga yang sama dengan di region utama. Untuk informasi selengkapnya, lihat Penyimpanan harga.
Pelanggan hanya diwajibkan membayar kapasitas komputasi di region utama. Kapasitas komputasi sekunder (berdasarkan dasar pengukuran reservasi) tersedia di region sekunder tanpa biaya tambahan. Tidak Ada Aktivitas slot tidak dapat menggunakan kapasitas komputasi sekunder kecuali terjadi kegagalan pemesanan.
Jika Anda perlu melakukan pembacaan yang sudah tidak berlaku di Anda dapat membeli kapasitas komputasi Enterprise Plus tambahan di region sekunder.
Membuat atau mengubah reservasi Enterprise Plus
Sebelum melampirkan set data ke reservasi, Anda harus membuat pemesanan Enterprise Plus atau mengubah reservasi yang sudah ada dan mengonfigurasinya untuk pemulihan dari bencana.
Membuat pemesanan
Pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di menu navigasi, klik Capacity management, dan lalu klik Buat reservasi.
Di kolom Nama pemesanan, masukkan nama untuk pemesanan.
Di daftar Lokasi, pilih lokasi.
Di daftar Edisi, pilih edisi Enterprise Plus.
Pada daftar Pemilih ukuran pemesanan maksimum, pilih ukuran pemesanan maksimum.
Opsional: Di kolom Slot dasar pengukuran, masukkan jumlah slot dasar pengukuran untuk pemesanan.
Jumlah slot penskalaan otomatis yang tersedia ditentukan oleh mengurangi nilai Slot dasar pengukuran dari Reservasi maksimum ukuran. Misalnya, jika Anda membuat pemesanan dengan 100 slot dasar pengukuran dan ukuran pemesanan maksimum 400, pemesanan Anda memiliki 300 slot penskalaan otomatis. Untuk informasi selengkapnya tentang slot dasar, lihat Menggunakan reservasi dengan dasar pengukuran dan penskalaan otomatis slot yang tersedia.
Dalam daftar Lokasi sekunder, pilih lokasi sekunder.
Untuk menonaktifkan berbagi slot tidak ada aktivitas dan hanya menggunakan kapasitas slot yang ditentukan, klik Abaikan slot tidak ada aktivitas tombol.
Untuk meluaskan bagian Advanced settings, klik panah peluas
.Opsional: Untuk menetapkan tugas target serentak, klik tombol Ganti aktifkan konkurensi tugas target otomatis, lalu masukkan nilai untuk Target Serentak Pekerjaan. Pengelompokan slot ditampilkan di tabel Estimasi biaya. J ringkasan reservasi ditampilkan di Ringkasan kapasitas tabel sementara.
Klik Simpan.
Pemesanan baru dapat dilihat di tab Pemesanan slot.
SQL
Untuk membuat reservasi, gunakan
Pernyataan bahasa definisi data (DDL) CREATE RESERVATION
.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, edition = ENTERPRISE_PLUS, secondary_location = SECONDARY_LOCATION);
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID project administrasi yang memiliki sumber daya reservasi.LOCATION
: lokasi pemesanan. Jika Anda memilih BigQuery Omni lokasi, edisi Anda terbatas untuk edisi Enterprise.RESERVATION_NAME
: nama pemesanan.Nama harus diawali dan diakhiri dengan huruf kecil atau angka dan hanya berisi huruf kecil, angka, dan tanda hubung.
NUMBER_OF_BASELINE_SLOTS
: jumlah slot dasar pengukuran untuk untuk reservasi. Anda tidak dapat menetapkan opsislot_capacity
dan opsiedition
dalam pemesanan yang sama.SECONDARY_LOCATION
: sekunder lokasi reservasi. Dalam kasus pemadaman layanan, {i>dataset<i} apa pun yang terlampir pada reservasi ini akan gagal di lokasi ini.
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Mengubah reservasi yang sudah ada
Pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di panel navigasi, buka bagian Pengelolaan kapasitas.
Klik tab Pemesanan slot.
Cari pemesanan yang ingin diperbarui.
Perluas opsi
Actions.Klik Edit.
Di kolom Lokasi sekunder, masukkan lokasi sekunder.
Klik Simpan.
SQL
Untuk menambahkan atau mengubah lokasi sekunder ke reservasi, gunakan
Pernyataan DDL ALTER RESERVATION SET OPTIONS
.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` SET OPTIONS ( secondary_location = SECONDARY_LOCATION);
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID project administrasi yang memiliki sumber daya reservasi.LOCATION
: lokasi pemesanan, misalnyaeurope-west9
.RESERVATION_NAME
: nama pemesanan. Nama harus diawali dan diakhiri dengan huruf kecil atau angka dan hanya berisi huruf kecil, angka, dan tanda hubung.SECONDARY_LOCATION
: sekunder lokasi reservasi. Dalam kasus pemadaman layanan, {i>dataset<i} apa pun yang terlampir pada reservasi ini akan gagal di lokasi ini.
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Melampirkan set data ke reservasi
Guna mengaktifkan pemulihan dari bencana untuk reservasi yang dibuat sebelumnya, selesaikan langkah-langkah berikut. Set data harus sudah dikonfigurasi untuk replikasi di di region utama dan sekunder yang sama dengan reservasi. Untuk informasi selengkapnya, lihat Replikasi set data lintas region.
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di menu navigasi, klik Capacity management, lalu klik tab Slot Pemesanan.
Klik pemesanan tempat Anda ingin melampirkan set data.
Klik tab Disaster recovery.
Klik Add failover dataset.
Masukkan nama set data yang ingin Anda kaitkan dengan reservasi.
Klik Tambahkan.
SQL
Untuk melampirkan set data ke reservasi, gunakan metode
Pernyataan DDL ALTER SCHEMA SET OPTIONS
.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER SCHEMA `DATASET_NAME` SET OPTIONS ( failover_reservation = ADMIN_PROJECT_ID.RESERVATION_NAME);
Ganti kode berikut:
DATASET_NAME
: nama {i>dataset<i} aslinya.ADMIN_PROJECT_ID.RESERVATION_NAME
: nama reservasi yang ingin Anda kaitkan dengan {i>dataset <i}tersebut.
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Melepaskan set data dari reservasi
Untuk berhenti mengelola perilaku failover set data melalui reservasi, melepaskan {i>dataset <i}tersebut dari pemesanan. Ini tidak mengubah replika utama saat ini untuk {i>dataset<i} atau apakah replika set data yang ada sudah dihapus. Untuk mengetahui informasi selengkapnya tentang menghapus replika set data setelah melepaskan set data, baca artikel Menghapus replika set data.
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di menu navigasi, klik Capacity management, lalu klik tab Slot Pemesanan.
Klik pemesanan tempat Anda ingin melepaskan set data.
Klik tab Disaster recovery.
Luaskan
Opsi Actions untuk replika utama set data.Klik Hapus.
SQL
Untuk melepaskan set data dari reservasi, gunakan metode
Pernyataan DDL ALTER SCHEMA SET OPTIONS
.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER SCHEMA `DATASET_NAME` SET OPTIONS ( failover_reservation = NULL);
Ganti kode berikut:
DATASET_NAME
: nama {i>dataset<i} aslinya.
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Mulai failover
Jika terjadi pemadaman layanan regional, Anda harus melakukan failover reservasi secara manual untuk lokasi yang digunakan replika. Kegagalan pemesanan juga mencakup yang terkait. Untuk gagal melalui reservasi secara manual, lakukan langkah berikut:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Di menu navigasi, klik Disaster recovery.
Klik nama reservasi yang ingin Anda tuju.
Klik Failover.
SQL
Untuk menambahkan atau mengubah lokasi sekunder ke reservasi, gunakan
Pernyataan DDL ALTER RESERVATION SET OPTIONS
dan setel is_primary
ke TRUE
.
Di Konsol Google Cloud, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
ALTER RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` SET OPTIONS ( is_primary = TRUE);
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID project administrasi yang memiliki sumber daya reservasi.LOCATION
: lokasi reservasi, misalnyaeurope-west9
.RESERVATION_NAME
: nama pemesanan. Nama harus diawali dan diakhiri dengan huruf kecil atau angka dan hanya berisi huruf kecil, angka, dan tanda hubung.PRIMARY_STATUS
: status boolean yang mendeklarasikan apakah reservasi adalah replika utama atau tidak.
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Pemantauan
Untuk menentukan status replika, buat kueri
INFORMATION_SCHEMA.SCHEMATA_REPLICAS
tampilan. Contoh:
SELECT schema_name, replica_name, creation_complete, replica_primary_assigned, replica_primary_assignment_complete FROM `region-LOCATION`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS WHERE schema_name="my_dataset"
Kueri berikut menampilkan pekerjaan dari tujuh hari terakhir yang akan gagal jika set data mereka adalah set data failover:
WITH non_epe_reservations AS ( SELECT project_id, reservation_name FROM `PROJECT_ID.region-LOCATION`.INFORMATION_SCHEMA.RESERVATIONS WHERE edition != 'ENTERPRISE_PLUS' ) SELECT * FROM ( SELECT job_id FROM ( SELECT job_id, reservation_id, ARRAY_CONCAT(referenced_tables, [destination_table]) AS all_referenced_tables, query FROM `PROJECT_ID.region-LOCATION`.INFORMATION_SCHEMA.JOBS WHERE creation_time BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND CURRENT_TIMESTAMP() ) A, UNNEST(all_referenced_tables) AS referenced_table ) jobs LEFT OUTER JOIN non_epe_reservations ON ( jobs.reservation_id = CONCAT( non_epe_reservations.project_id, ':', 'LOCATION', '.', non_epe_reservations.reservation_name)) WHERE CONCAT(jobs.project_id, ':', jobs.dataset_id) IN UNNEST( [ 'PROJECT_ID:DATASET_ID', 'PROJECT_ID:DATASET_ID']);
Ganti kode berikut:
PROJECT_ID
: project ID.DATASET_ID
: ID set data.LOCATION
: lokasi.
Langkah selanjutnya
Pelajari replikasi set data lintas region lebih lanjut.
Pelajari lebih lanjut keandalan.