Bermigrasi ke pemulihan dari bencana (disaster recovery) terkelola

Halaman ini menjelaskan cara bermigrasi dari replikasi lintas region BigQuery ke pemulihan dari bencana (disaster recovery) terkelola BigQuery.

Ringkasan

Replikasi lintas region BigQuery (CRR) dan pemulihan dari bencana terkelola (DR) adalah fitur yang dirancang untuk meningkatkan ketersediaan data dan kemampuan pemulihan dari bencana. Namun, keduanya menangani pemadaman layanan regional dengan cara yang berbeda. CRR tidak mengizinkan promosi replika sekunder jika region utama tidak tersedia. Sebaliknya, DR menawarkan perlindungan yang lebih komprehensif dengan mengizinkan failover ke replika sekunder meskipun region utama tidak tersedia. Dengan CRR, hanya penyimpanan yang direplikasi, sedangkan dengan DR, penyimpanan dan kapasitas komputasi direplikasi.

Tabel berikut menjelaskan kemampuan fitur CRR dan DR:

Fitur CRR DR
Proses replikasi awal Menggunakan CRR untuk mereplikasi set data awalnya. Load awal sebelumnya direplikasi dengan CRR sebelum memigrasikan set data CRR ke set data DR.
Replikasi promosi Menggunakan replikasi standar. Menggunakan replikasi Turbo.
Proses promosi Mempromosikan di tingkat set data. Mempromosikan di tingkat pemesanan (failover pemesanan dan promosi set data ). Banyak set data dapat dilampirkan ke satu pemesanan failover. Promosi tingkat set data tidak tersedia dengan DR.
Eksekusi promosi Melalui UI atau perintah DDL berbasis SQL untuk setiap set data. Tidak ada dukungan untuk CLI, Library Klien, API, atau Terraform. Melalui UI atau perintah DDL berbasis SQL untuk setiap pemesanan EPE Tidak ada dukungan untuk CLI, client libraries, API, atau Terraform.
Mode failover Soft failover. Hard failover.
Persyaratan edisi Model kapasitas apa pun. Edisi Enterprise Plus.
Batasan Batasan CRR. Mencakup batasan CRR dan batasan DR .
Akses tulis Tugas yang berjalan di bawah model kapasitas apa pun dapat menulis ke set data yang direplikasi di region utama. Sekunder selalu bersifat hanya baca. Hanya tugas yang berjalan di bawah pemesanan Enterprise Plus yang dapat menulis ke set data yang direplikasi di region utama. Replika set data dan pemesanan sekunder selalu bersifat hanya baca.
Akses baca Tugas yang berjalan di bawah model kapasitas apa pun dapat membaca dari set data yang direplikasi. Tugas yang berjalan di bawah model kapasitas apa pun dapat membaca dari set data yang direplikasi.

Implikasi migrasi

Bagian berikut memberikan ringkasan perubahan biaya dan kemampuan yang terjadi saat Anda bermigrasi ke DR.

Implikasi biaya

Pertimbangkan implikasi biaya berikut saat Anda bermigrasi dari CRR ke DR:

  • DR hanya mendukung akses tulis dari edisi Enterprise Plus, yang menimbulkan biaya komputasi yang lebih tinggi. Anda dapat membaca dari model kapasitas apa pun, sehingga biaya baca untuk tugas yang ada tidak berubah.

  • DR menggunakan Turbo replikasi, yang menimbulkan biaya tambahan bergantung pada pasangan region.

  • Harga penyimpanan sama untuk CRR dan DR.

Untuk mengetahui informasi selengkapnya tentang harga, lihat Harga.

Implikasi kemampuan

Pertimbangkan implikasi kemampuan berikut saat Anda bermigrasi dari CRR ke DR:

  • DR hanya mendukung failover di tingkat pemesanan. Tugas yang ada yang mengandalkan failover tingkat set data akan gagal.

  • Hanya kueri edisi Enterprise Plus yang dapat menulis ke set data setelah dilampirkan ke pemesanan DR. Tugas tulis yang ada yang tidak menggunakan edisi Enterprise Plus untuk kapasitas komputasinya akan gagal.

Sebelum memulai

Sebelum memulai migrasi, pahami konsep dalam replikasi lintas region dan pemulihan dari bencana (disaster recovery) terkelola.

Untuk bermigrasi ke DR, Anda harus memiliki prasyarat berikut:

  • Anda memiliki project aktif Google Cloud dengan BigQuery diaktifkan.

  • Anda telah membuat dan mereplikasi set data dengan CRR.

  • Set data memiliki lokasi utama dan sekunder yang sama yang ingin Anda gunakan untuk DR.

  • Anda memiliki izin yang diperlukan untuk menggunakan DR. Untuk mengetahui informasi selengkapnya tentang izin, lihat Sebelum memulai.

Bermigrasi dari CRR ke DR

Bagian berikut menjelaskan cara memigrasikan set data Anda dari CRR ke DR. Bagian ini mengasumsikan bahwa Anda telah mengonfigurasi set data untuk CRR.

Membuat pemesanan failover

Untuk mengaktifkan pemulihan dari bencana (disaster recovery), Anda harus membuat pemesanan failover di region utama. Konfigurasi pemesanan Anda dengan region utama dan sekunder yang sesuai. Region utama dan sekunder harus cocok dengan region semua set data CRR yang ingin Anda migrasikan ke DR. Untuk membuat pemesanan failover, pilih salah satu opsi berikut:

Konsol

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di menu navigasi, klik Capacity management, dan lalu klik Create reservation.

  3. Di kolom Reservation name, masukkan nama untuk pemesanan.

  4. Dalam daftar Location, pilih lokasi.

  5. Dalam daftar Edition, pilih edisi Enterprise Plus.

  6. Pada daftar Max reservation size selector, pilih ukuran pemesanan maksimum.

  7. Opsional: Di kolom Baseline slots, masukkan jumlah slot dasar pengukuran untuk pemesanan.

    Jumlah slot penskalaan otomatis yang tersedia ditentukan dengan mengurangi nilai Baseline slots dari nilai Max reservation size. 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 slot.

  8. Dalam daftar Secondary location, pilih lokasi sekunder.

  9. Untuk menonaktifkan berbagi slot nonaktif dan hanya menggunakan kapasitas slot yang ditentukan, klik tombol Ignore idle slots.

  10. Untuk meluaskan bagian Advanced settings, klik panah peluas .

  11. Opsional: Untuk menetapkan konkurensi tugas target, klik tombol Override automatic target job concurrency ke aktif, lalu masukkan nilai untuk Target Job Concurrency. Rincian slot ditampilkan dalam tabel Cost estimate. Ringkasan pemesanan ditampilkan dalam tabel Capacity summary.

  12. Klik Save.

Pemesanan baru dapat dilihat di tab Pemesanan slot.

SQL

Untuk membuat pemesanan, gunakan pernyataan bahasa definisi data (DDL) CREATE RESERVATION.

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. 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 resource pemesanan.
    • LOCATION: the 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 dan 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 opsi slot_capacity dan opsi edition dalam pemesanan yang sama.
    • SECONDARY_LOCATION: lokasi sekunder pemesanan. Jika terjadi pemadaman layanan, set data apa pun yang dilampirkan ke pemesanan ini akan melakukan failover ke lokasi ini.

  3. Klik Run.

Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.

Melampirkan set data ke pemesanan

Setelah membuat pemesanan failover, lampirkan set data lintas region, atau set data, ke pemesanan. Tindakan ini akan mengaktifkan failover untuk semua set data yang dilampirkan. Untuk melampirkan set data ke pemesanan, pilih salah satu opsi berikut:

Konsol

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. Di menu navigasi, klik Capacity management, lalu klik tab Slot Reservations.

  3. Klik pemesanan yang ingin Anda lampirkan set datanya.

  4. Klik tab Disaster recovery.

  5. Klik Add failover dataset.

  6. Masukkan nama set data yang ingin Anda kaitkan dengan pemesanan.

  7. Klik Add.

SQL

Untuk melampirkan set data ke pemesanan, gunakan pernyataan DDL ALTER SCHEMA SET OPTIONS.

  1. Di Google Cloud konsol, buka halaman BigQuery.

    Buka BigQuery

  2. 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 pemesanan yang ingin Anda kaitkan dengan set data.

  3. Klik Run.

Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.

Memverifikasi konfigurasi

Untuk memverifikasi status konfigurasi Anda, kueri tampilan INFORMATION_SCHEMA.SCHEMATA_REPLICAS.

PROJECT_ID.`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS[_BY_PROJECT]

Pastikan set data dilampirkan ke pemesanan yang benar di region yang benar.

Ganti kode berikut:
  • Opsional: PROJECT_ID: ID project Anda. Google Cloud Jika tidak ditentukan, project default akan digunakan.
  • REGION: nama region set data apa pun. Misalnya, `region-us`.

Contoh

Contoh berikut memandu Anda melalui langkah-langkah untuk bermigrasi dari CRR ke DR dengan contoh praktis menggunakan GoogleSQL. Untuk contoh ini, asumsikan hal berikut:

  • Anda menggunakan project bernama myproject.

  • Anda telah membuat set data bernama mydataset dan mengonfigurasinya dengan CRR.

  • Region utama mydataset adalah us-central1 dan region sekunder adalah us-west1.

Untuk mulai memigrasikan set data ke DR, buat pemesanan terlebih dahulu dengan edisi Enterprise Plus. Dalam contoh ini, nama pemesanannya adalah myreservation.

CREATE RESERVATION `myproject.region-us-central1.myreservation`
OPTIONS (
  slot_capacity = 0,
  edition = ENTERPRISE_PLUS,
  autoscale_max_slots = 50,
  secondary_location = 'us-west-1');

Setelah pemesanan dibuat, Anda dapat melampirkan set data ke pemesanan. Contoh berikut melampirkan set data ke pemesanan:

ALTER SCHEMA
  `myproject.mydataset`
SET OPTIONS (
  failover_reservation = 'myproject.myreservation');

Kemudian, pastikan set data telah berhasil dilampirkan.

SELECT
  failover_reservation_project_id,failover_reservation_name,
FROM
 `myproject`.`region-us-west1`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS
WHERE
 schema_name='mydataset';

Hasil kueri ini akan terlihat seperti berikut:

+---------------------------------+---------------------------+
| failover_reservation_project_id | failover_reservation_name |
+---------------------------------+---------------------------+
| myproject                       | myreservation             |
| myproject                       | myreservation             |
+---------------------------------+---------------------------+

Apa langkah selanjutnya?