Disaster recovery terkelola
Dokumen ini memberikan ringkasan tentang disaster recovery yang dikelola BigQuery dan cara menerapkannya untuk data dan workload Anda.
Ringkasan
BigQuery mendukung skenario disaster recovery jika terjadi pemadaman layanan di seluruh region. Pemulihan dari bencana (disaster recovery) 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 kontinuitas bisnis selama pemadaman. Setelah failover, Anda dapat mengakses kapasitas komputasi (slot) dan set data yang direplikasi di region yang dipromosikan. Disaster recovery hanya didukung dengan edisi Enterprise Plus.
Pemulihan dari bencana (disaster recovery) terkelola melakukan failover hard saat failover dimulai.
Dalam hard failover, replika reservasi dan set data di region sekunder
akan segera dipromosikan ke region utama, meskipun region utama sebelumnya
tidak aktif, tanpa menunggu replikasi data yang belum direplikasi. Karena
hal ini, kehilangan data dapat terjadi selama hard failover. Setiap tugas yang melakukan commit data di
region sumber sebelum nilai replika
replication_time
mungkin perlu dijalankan ulang di region tujuan setelah failover.
Untuk mengaktifkan pemulihan dari bencana, Anda harus membuat reservasi edisi Enterprise Plus di region utama, yaitu region tempat set data berada sebelum failover. Kapasitas komputasi standby di region yang disambungkan disertakan dalam reservasi Enterprise Plus. Kemudian, Anda akan melampirkan set data ke reservasi ini untuk mengaktifkan failover untuk set data tersebut. Anda hanya dapat melampirkan set data ke reservasi jika set data diisi ulang dan memiliki lokasi primer dan sekunder yang dipasangkan yang sama dengan reservasi. Setelah set data disertakan ke pemesanan failover, hanya pemesanan 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 maupun tidak.
Anda harus secara aktif memilih untuk melakukan failover sebagai bagian dari pengujian atau sebagai respons terhadap bencana yang sebenarnya. Anda tidak boleh gagal lebih dari sekali dalam periode 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 beralih ke set data.
Diagram berikut menunjukkan arsitektur Disaster Recovery Terkelola:
Batasan
Batasan berikut berlaku untuk disaster recovery BigQuery:
Pemulihan dari bencana (disaster recovery) BigQuery tunduk pada batasan yang sama seperti 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 failover.Jika Anda memiliki beberapa reservasi failover dengan project administrasi yang sama, tetapi set data yang dilampirkan 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.
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 | |
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 |
South Carolina | |
US-EAST4 |
Northern Virginia | |
US-SOUTH1 |
Dallas | |
US-WEST1 |
Oregon | |
US-WEST2 |
Los Angeles | |
US-WEST3 |
Salt Lake City | |
US-WEST4 |
Las Vegas |
Pasangan region harus dipilih dalam ASIA
, AU
, CA
, EU
, IN
, atau US
.
Misalnya, region dalam US
tidak dapat disambungkan dengan region dalam EU
.
Jika set data BigQuery Anda berada di lokasi multi-region, Anda tidak dapat menggunakan pasangan region berikut. Batasan ini memastikan bahwa reservasi dan data failover Anda terpisah secara geografis setelah replikasi. Untuk mengetahui informasi selengkapnya tentang region yang terdapat 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
- Pastikan 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
Replikasi pemulihan dari bencana menggunakan mode Turbo untuk replikasi data yang lebih cepat di seluruh region, yang mengurangi risiko eksposur kehilangan data 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 dirancang untuk mereplikasi set data ke satu pasangan region failover dengan replika sekunder dalam waktu 60 menit, selama kuota bandwidth tidak terlampaui dan tidak ada error pengguna.
Kuota
Anda harus memiliki kapasitas komputasi yang dipilih di region sekunder sebelum mengonfigurasi pemesanan failover. Jika tidak ada kuota yang tersedia di region sekunder, Anda tidak dapat mengonfigurasi reservasi. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas.
Bandwidth replikasi Turbo memiliki kuota. Untuk mengetahui informasi selengkapnya, lihat Kuota dan batas.
Harga
Untuk mengonfigurasi pemulihan dari bencana terkelola, Anda memerlukan paket harga berikut:
Kapasitas komputasi: Anda harus membeli edisi Enterprise Plus.
Replikasi turbo: Disaster recovery mengandalkan replikasi turbo selama replikasi. Anda akan ditagih berdasarkan byte fisik dan per replika GiB fisik. Untuk mengetahui informasi selengkapnya, lihat Harga transfer data replikasi data untuk replikasi Turbo.
Penyimpanan: Byte penyimpanan di region sekunder ditagih dengan harga yang sama dengan byte penyimpanan di region utama. Untuk mengetahui informasi selengkapnya, lihat Harga penyimpanan.
Pelanggan hanya diwajibkan untuk membayar kapasitas komputasi di region utama. Kapasitas komputasi sekunder (berdasarkan dasar pengukuran reservasi) tersedia di region sekunder tanpa biaya tambahan. Slot tidak ada aktivitas tidak dapat menggunakan kapasitas komputasi sekunder kecuali jika reservasi telah gagal.
Jika perlu melakukan pembacaan yang sudah tidak berlaku 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 disaster recovery.
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.
Di 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 pemesanan 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 Secondary location, 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 pengukuran yang akan dialokasikan ke pemesanan. Anda tidak dapat menetapkan opsislot_capacity
dan opsiedition
dalam pemesanan yang sama.SECONDARY_LOCATION
: lokasi pemesanan sekunder. Jika terjadi pemadaman, set data apa pun yang dilampirkan ke reservasi ini akan dialihkan ke lokasi ini.
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Mengubah reservasi yang 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 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 pemesanan sekunder. Jika terjadi pemadaman, set data apa pun yang dilampirkan ke reservasi ini akan dialihkan ke lokasi ini.
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Melampirkan set data ke reservasi
Untuk mengaktifkan disaster recovery 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 data.
Klik tab Disaster recovery.
Klik Tambahkan set data failover.
Masukkan nama set data yang ingin dikaitkan 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 informasi selengkapnya tentang cara menjalankan kueri, lihat 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 replika set data yang ada tidak akan dihapus. Untuk mengetahui informasi selengkapnya tentang cara 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
Actions 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 informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Memulai failover
Jika terjadi pemadaman layanan regional, Anda harus melakukan failover pemesanan secara manual ke lokasi yang digunakan oleh replika. Kegagalan 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 gunakan untuk failover.
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);
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.PRIMARY_STATUS
: status boolean yang mendeklarasikan apakah reservasi adalah replika utama.
Klik
Run.
Untuk informasi selengkapnya tentang cara menjalankan kueri, lihat 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 selanjutnya
Pelajari replikasi set data lintas-region lebih lanjut.
Pelajari keandalan lebih lanjut.