Pemulihan dari bencana yang dikelola
Dokumen ini memberikan ringkasan pemulihan dari bencana yang dikelola BigQuery dan cara menerapkannya untuk data dan workload Anda.
Ringkasan
BigQuery mendukung skenario pemulihan dari bencana (disaster recovery) jika terjadi pemadaman layanan total di suatu region. Pemulihan dari bencana BigQuery mengandalkan replikasi set data lintas region untuk mengelola failover penyimpanan. Setelah membuat replika set data di region sekunder, Anda dapat mengontrol perilaku failover untuk komputasi dan penyimpanan guna mempertahankan kelangsungan bisnis selama pemadaman layanan. Setelah failover, Anda dapat mengakses kapasitas komputasi (slot) dan set data yang direplikasi di region yang dipromosikan. Pemulihan dari bencana hanya didukung dengan edisi Enterprise Plus.
Pemulihan dari bencana (disaster recovery) terkelola menawarkan dua opsi failover: failover berat dan failover ringan. Failover paksa akan segera mempromosikan reservasi dan replika set data region sekunder menjadi yang utama. Tindakan ini akan dilanjutkan
meskipun region utama saat ini sedang offline dan tidak menunggu
replikasi data yang belum direplikasi. Oleh karena itu, kehilangan data dapat terjadi selama failover berat.
Setiap tugas yang melakukan data di region sumber sebelum nilai replika
replication_time
mungkin perlu dijalankan ulang di region tujuan setelah failover.
Berbeda dengan failover berat, failover ringan menunggu hingga semua perubahan set data dan reservasi yang di-commit di region primer direplikasi ke region sekunder sebelum menyelesaikan proses failover. Failover sementara
memerlukan region utama dan sekunder agar tersedia.
Memulai failover sementara akan menetapkan softFailoverStartTime
untuk pemesanan. softFailoverStartTime
dihapus setelah failover ringan selesai.
Untuk mengaktifkan pemulihan dari bencana, Anda harus membuat reservasi edisi Enterprise Plus di region primer, yaitu region tempat set data berada sebelum failover. Kapasitas komputasi standby di region yang dipasangkan disertakan dalam reservasi Enterprise Plus. Kemudian, Anda melampirkan set data ke reservasi ini untuk mengaktifkan failover untuk set data tersebut. Anda hanya dapat melampirkan set data ke reservasi jika set data tersebut diisi ulang dan memiliki lokasi primer dan sekunder yang dipasangkan sama dengan reservasi. Setelah set data dilampirkan ke reservasi failover, hanya reservasi Enterprise Plus yang dapat menulis ke set data tersebut dan Anda tidak dapat melakukan promosi replikasi lintas region pada set data. Anda dapat membaca dari set data yang dilampirkan ke reservasi failover dengan model kapasitas apa pun. Untuk mengetahui informasi selengkapnya tentang reservasi, lihat Pengantar pengelolaan workload.
Kapasitas komputasi region utama Anda tersedia di region sekunder segera setelah failover. Ketersediaan ini berlaku untuk dasar pengukuran pemesanan Anda, baik digunakan atau tidak.
Anda harus secara aktif memilih untuk melakukan failover sebagai bagian dari pengujian atau sebagai respons terhadap bencana yang sebenarnya. Anda tidak boleh melakukan failover lebih dari sekali dalam jangka waktu 10 menit. Dalam skenario replikasi data, pengisian ulang mengacu pada proses pengisian replika set data dengan data historis yang ada sebelum replika dibuat atau menjadi aktif. Set data harus menyelesaikan pengisian ulang sebelum Anda dapat melakukan failover ke set data.
Diagram berikut menunjukkan arsitektur pemulihan dari bencana yang dikelola:
Batasan
Batasan berikut berlaku untuk pemulihan dari bencana BigQuery:
Pemulihan dari bencana BigQuery tunduk pada batasan yang sama dengan replikasi set data lintas region.
Penskalaan otomatis setelah failover bergantung pada ketersediaan kapasitas komputasi di region sekunder. Hanya dasar pengukuran reservasi yang tersedia di region sekunder.
Tampilan
INFORMATION_SCHEMA.RESERVATIONS
tidak memiliki detail pengalihan.Jika Anda memiliki beberapa reservasi failover dengan project administrasi yang sama, tetapi set data terlampirnya menggunakan lokasi sekunder yang berbeda, jangan gunakan satu reservasi failover dengan set data yang dilampirkan ke reservasi failover yang berbeda.
Jika Anda ingin mengonversi pemesanan yang ada menjadi pemesanan failover, pemesanan yang ada tidak boleh memiliki lebih dari 1.000 penetapan pemesanan.
Pemesanan failover tidak dapat memiliki lebih dari 1.000 set data yang dilampirkan.
Pengalihan yang lancar hanya dapat dipicu jika region sumber dan tujuan tersedia.
Failover sementara tidak dapat dipicu jika ada error sementara atau lainnya selama replikasi reservasi. Misalnya, jika kuota slot tidak mencukupi di region sekunder untuk pembaruan reservasi.
Reservasi dan set data terlampir tidak dapat diperbarui selama soft failover aktif, tetapi masih dapat dibaca.
Tugas yang berjalan pada reservasi failover selama failover sementara yang aktif mungkin tidak berjalan pada reservasi karena perubahan sementara dalam perutean set data dan reservasi selama operasi failover. Namun, tugas ini akan menggunakan slot reservasi sebelum failover sementara dimulai dan setelah selesai.
Lokasi
Region berikut tersedia saat membuat pemesanan failover:
Kode lokasi | Nama Region | Deskripsi Region |
---|---|---|
ASIA |
||
ASIA-EAST1 |
Taiwan | |
ASIA-SOUTHEAST1 |
Singapura | |
AU |
||
AUSTRALIA-SOUTHEAST1 |
Sydney | |
AUSTRALIA-SOUTHEAST2 |
Melbourne | |
CA |
||
NORTHAMERICA-NORTHEAST1 |
Montréal | |
NORTHAMERICA-NORTHEAST2 |
Toronto | |
DE |
||
EUROPE-WEST3 |
Frankfurt | |
EUROPE-WEST10 |
Berlin | |
EU |
||
EU |
Multi-region Uni Eropa | |
EUROPE-CENTRAL2 |
Warsawa | |
EUROPE-NORTH1 |
Finlandia | |
EUROPE-SOUTHWEST1 |
Madrid | |
EUROPE-WEST1 |
Belgia | |
EUROPE-WEST3 |
Frankfurt | |
EUROPE-WEST4 |
Belanda | |
EUROPE-WEST8 |
Milan | |
EUROPE-WEST9 |
Paris | |
IN |
||
ASIA-SOUTH1 |
Mumbai | |
ASIA-SOUTH2 |
Delhi | |
US |
||
US |
Multi-region AS | |
US-CENTRAL1 |
Iowa | |
US-EAST1 |
Carolina Selatan | |
US-EAST4 |
Northern Virginia | |
US-EAST5 |
Columbus | |
US-SOUTH1 |
Dallas | |
US-WEST1 |
Oregon | |
US-WEST2 |
Los Angeles | |
US-WEST3 |
Salt Lake City | |
US-WEST4 |
Las Vegas |
Pasangan wilayah harus dipilih dalam ASIA
, AU
, CA
, DE
, EU
, IN
, atau
US
. Misalnya, region dalam US
tidak dapat dipasangkan dengan region dalam EU
.
Jika set data BigQuery Anda berada di lokasi multi-region, Anda tidak dapat menggunakan pasangan region berikut. Batasan ini diperlukan untuk memastikan bahwa reservasi failover dan data Anda terpisah secara geografis setelah replikasi. Untuk mengetahui informasi selengkapnya tentang region yang berada dalam multi-region, lihat Multi-region.
us-central1
-us
multi-regionus-west1
-us
multi-regioneu-west1
-eu
multi-regioneu-west4
-eu
multi-region
Sebelum memulai
- Verifikasi bahwa Anda memiliki izin Identity and Access Management (IAM)
bigquery.reservations.update
untuk memperbarui reservasi. - Pastikan Anda memiliki set data yang sudah ada dan dikonfigurasi untuk replikasi. Untuk mengetahui informasi selengkapnya, lihat Mereplikasi set data.
Replikasi Turbo
Pemulihan dari bencana menggunakan Replikasi turbo untuk replikasi data yang lebih cepat di seluruh region, yang mengurangi risiko eksposur kehilangan data, meminimalkan periode nonaktif layanan, dan membantu mendukung layanan tanpa gangguan setelah pemadaman layanan regional.
Replikasi Turbo tidak berlaku untuk operasi pengisian ulang awal. Setelah operasi pengisian ulang awal selesai, replikasi turbo bertujuan untuk mereplikasi kumpulan data ke satu pasangan region failover dengan replika sekunder dalam waktu 15 menit, selama kuota bandwidth tidak terlampaui dan tidak ada error pengguna.
Batas waktu pemulihan
Batas waktu pemulihan (RTO) adalah target waktu yang diizinkan untuk pemulihan di BigQuery jika terjadi bencana. Untuk mengetahui informasi selengkapnya tentang RTO, lihat Dasar-dasar perencanaan DR.Pemulihan dari bencana yang dikelola memiliki RTO lima menit setelah Anda memulai failover. Karena RTO, kapasitas tersedia di region sekunder dalam waktu lima menit setelah memulai proses failover.
Toleransi jumlah data yang hilang
Toleransi jumlah data yang hilang (RPO) adalah titik waktu terbaru yang datanya harus dapat dipulihkan. Untuk mengetahui informasi selengkapnya tentang RPO, lihat Dasar-dasar perencanaan DR. Pemulihan dari bencana (disaster recovery) terkelola memiliki RPO yang ditentukan per set data. RPO bertujuan untuk menjaga replika sekunder dalam waktu 15 menit dari replika utama. Untuk memenuhi RPO ini, Anda tidak boleh melampaui kuota bandwidth dan tidak boleh ada kesalahan pengguna.
Kuota
Anda harus memiliki kapasitas komputasi yang dipilih di region sekunder sebelum mengonfigurasi reservasi failover. Jika tidak ada kuota yang tersedia di region sekunder, Anda tidak dapat mengonfigurasi atau memperbarui reservasi. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas.
Bandwidth replikasi Turbo memiliki kuota. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas.
Harga
Mengonfigurasi pemulihan dari bencana terkelola memerlukan paket harga berikut:
Kapasitas komputasi: Anda harus membeli edisi Enterprise Plus.
Replikasi turbo: Pemulihan dari bencana mengandalkan replikasi turbo selama replikasi. Anda akan ditagih berdasarkan byte fisik dan per GiB fisik yang direplikasi. Untuk mengetahui informasi selengkapnya, lihat Harga transfer data replikasi data untuk replikasi Turbo.
Penyimpanan: Byte penyimpanan di region sekunder ditagih dengan harga yang sama seperti byte penyimpanan di region primer. Untuk mengetahui informasi selengkapnya, lihat Harga penyimpanan.
Pelanggan hanya diwajibkan membayar kapasitas komputasi di region primer. Kapasitas komputasi sekunder (berdasarkan dasar reservasi) tersedia di region sekunder tanpa biaya tambahan. Slot tidak ada aktivitas tidak dapat menggunakan kapasitas komputasi sekunder kecuali jika reservasi telah di-failover.
Jika Anda perlu melakukan pembacaan yang tidak terbaru di region sekunder, Anda harus membeli kapasitas komputasi tambahan.
Membuat atau mengubah reservasi Enterprise Plus
Sebelum melampirkan set data ke reservasi, Anda harus membuat reservasi Enterprise Plus atau mengubah reservasi yang 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, lalu klik Create reservation.
Di kolom Nama pemesanan, masukkan nama untuk pemesanan.
Dalam daftar Location, pilih lokasi.
Dalam 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 dengan mengurangi nilai Slot dasar pengukuran dari nilai Ukuran reservasi maksimum. Misalnya, jika Anda membuat pemesanan dengan 100 slot dasar pengukuran dan ukuran pemesanan maksimum 400, pemesanan Anda memiliki 300 slot penskalaan otomatis. Untuk mengetahui informasi selengkapnya tentang slot dasar pengukuran, lihat Menggunakan pemesanan dengan slot dasar pengukuran dan penskalaan otomatis.
Dalam daftar Lokasi sekunder, pilih lokasi sekunder.
Untuk menonaktifkan berbagi slot tidak ada aktivitas dan hanya menggunakan kapasitas slot yang ditentukan, klik tombol Abaikan slot tidak ada aktivitas.
Untuk meluaskan bagian Advanced settings, klik panah peluas
.Opsional: Untuk menetapkan konkurensi tugas target, klik tombol Ganti konkurensi tugas target otomatis ke aktif, lalu masukkan nilai untuk Konkurensi Tugas Target. Perincian slot ditampilkan di tabel Estimasi biaya. Ringkasan pemesanan ditampilkan di tabel Ringkasan kapasitas.
Klik Simpan.
Pemesanan baru dapat dilihat di tab Pemesanan slot.
SQL
Untuk membuat pemesanan, 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 dari project administrasi yang memiliki resource pemesanan.LOCATION
: lokasi pemesanan. Jika Anda memilih lokasi BigQuery Omni, opsi edisi Anda akan terbatas untuk edisi Enterprise.RESERVATION_NAME
: nama pemesanan.Nama harus diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.
NUMBER_OF_BASELINE_SLOTS
: jumlah slot dasar yang akan dialokasikan ke reservasi. Anda tidak dapat menetapkan opsislot_capacity
dan opsiedition
dalam pemesanan yang sama.SECONDARY_LOCATION
: lokasi sekunder pemesanan. Jika terjadi pemadaman, semua set data yang dilampirkan ke reservasi ini akan melakukan failover ke lokasi ini.
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.
Mengubah reservasi yang ada
Pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman BigQuery.
Di menu navigasi, klik Capacity management.
Klik tab Slot reservations.
Temukan reservasi yang ingin Anda perbarui.
Klik
Tindakan reservasi, lalu klik Edit.Di kolom Secondary location, masukkan lokasi sekunder.
Klik Simpan.
SQL
Untuk menambahkan atau mengubah lokasi sekunder ke pemesanan, 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 dari project administrasi yang memiliki resource pemesanan.LOCATION
: lokasi pemesanan, misalnyaeurope-west9
.RESERVATION_NAME
: nama pemesanan. Nama harus diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.SECONDARY_LOCATION
: lokasi sekunder pemesanan. Jika terjadi pemadaman, semua set data yang dilampirkan ke reservasi ini akan melakukan failover ke lokasi ini.
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.
Melampirkan set data ke reservasi
Untuk mengaktifkan pemulihan dari bencana untuk reservasi yang dibuat sebelumnya, selesaikan langkah-langkah berikut. Set data harus sudah dikonfigurasi untuk replikasi di region utama dan sekunder yang sama dengan reservasi. Untuk mengetahui 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 Reservations.
Klik reservasi yang ingin Anda lampirkan set datanya.
Klik tab Disaster recovery.
Klik Tambahkan set data failover.
Masukkan nama set data yang ingin Anda kaitkan dengan reservasi.
Klik Tambahkan.
SQL
Untuk melampirkan set data ke pemesanan, gunakan
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 set data.ADMIN_PROJECT_ID.RESERVATION_NAME
: nama reservasi yang ingin Anda kaitkan dengan set data.
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.
Melepaskan set data dari pemesanan
Untuk berhenti mengelola perilaku failover set data melalui reservasi, lepaskan set data dari reservasi. Tindakan ini tidak mengubah replika utama saat ini untuk set data dan tidak menghapus replika set data yang ada. Untuk mengetahui informasi selengkapnya tentang menghapus replika set data setelah melepaskan set data, lihat Menghapus replika set data.
Konsol
Di konsol Google Cloud , buka halaman BigQuery.
Di menu navigasi, klik Capacity management, lalu klik tab Slot Reservations.
Klik reservasi yang ingin Anda lepaskan set datanya.
Klik tab Disaster recovery.
Luaskan opsi
Tindakan untuk replika utama set data.Klik Hapus.
SQL
Untuk melepaskan set data dari pemesanan, gunakan
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 set data.
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.
Memulai failover
Jika terjadi pemadaman layanan regional, Anda harus melakukan failover pemesanan secara manual ke lokasi yang digunakan oleh replika. Melakukan failover reservasi juga mencakup set data terkait. Untuk melakukan failover 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 alihkan.
Pilih Mode failover keras (default) atau Mode failover lunak.
Klik Failover.
SQL
Untuk menambahkan atau mengubah lokasi sekunder ke pemesanan, gunakan
pernyataan DDL ALTER RESERVATION SET OPTIONS
dan tetapkan 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, failover_mode=FAILOVER_MODE);
Ganti kode berikut:
ADMIN_PROJECT_ID
: project ID dari project administrasi yang memiliki resource pemesanan.LOCATION
: lokasi utama baru dari reservasi, yaitu lokasi sekunder saat ini sebelum failover - misalnya,europe-west9
.RESERVATION_NAME
: nama pemesanan. Nama harus diawali dan diakhiri dengan huruf kecil atau angka, serta hanya berisi huruf kecil, angka, dan tanda hubung.PRIMARY_STATUS
: status boolean yang menyatakan apakah reservasi adalah replika utama.FAILOVER_MODE
: parameter opsional yang digunakan untuk mendeskripsikan mode failover. Nilai ini dapat disetel keHARD
atauSOFT
. Jika parameter ini tidak ditentukan,HARD
akan digunakan secara default.
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel Menjalankan kueri interaktif.
Pemantauan
Untuk menentukan status replika, buat kueri
tampilan INFORMATION_SCHEMA.SCHEMATA_REPLICAS
. 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 tugas dari tujuh hari terakhir yang akan gagal jika set datanya 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 berikutnya
Pelajari lebih lanjut replikasi set data lintas-region.
Pelajari lebih lanjut keandalan.