Menggunakan replikasi lintas region dan pemulihan dari bencana

Lakehouse untuk Apache Iceberg mendukung replikasi lintas region dan disaster recovery untuk metadata katalog.

Konfigurasi ini memerlukan katalog yang didukung oleh bucket Cloud Storage Dual-Region atau Multi-Region.

Sebelum memulai

  1. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  2. Mengaktifkan BigLake API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Mengaktifkan API

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk menggunakan endpoint katalog REST Iceberg di katalog runtime Lakehouse, minta administrator untuk memberi Anda peran IAM berikut:

  • Lakukan tugas administratif, seperti mengelola akses pengguna katalog, akses penyimpanan, dan mode penjualan kredensial katalog:
  • Membaca data tabel dalam mode penyediaan kredensial: BigLake Viewer (roles/biglake.viewer) di project
  • Menulis data tabel dalam mode penyediaan kredensial: BigLake Editor (roles/biglake.editor) di project
  • Membaca resource katalog dan data tabel dalam mode penjualan non-kredensial:
  • Mengelola resource katalog dan menulis data tabel dalam mode penyediaan non-kredensial:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Alur kerja replikasi dan pemulihan dari bencana

Untuk menggunakan replikasi lintas region dan pemulihan dari bencana, Anda harus mengikuti langkah-langkah umum berikut:

  1. Melihat status replikasi: Identifikasi region primer dan sekunder Anda saat ini untuk menentukan region target untuk failover.
  2. Periksa status sinkronisasi: Verifikasi status terkini wilayah primer dan sekunder Anda untuk memastikan keduanya siap untuk transisi.
  3. Pilih mode failover: Tentukan antara failover ringan (terbaik untuk pemeliharaan terencana) atau failover berat (terbaik untuk pemulihan darurat).
  4. Mulai failover: Jalankan perintah yang sesuai dengan mode yang Anda pilih untuk mengganti region utama dan sekunder Anda.

Bersiap untuk failover

Identifikasi region utama Anda saat ini dan verifikasi status sinkronisasi region sekunder Anda. Kemudian, mulai failover.

Melihat status replikasi

Untuk menentukan region tempat katalog Anda direplikasi, jalankan perintah gcloud biglake iceberg catalogs describe berikut.

gcloud biglake iceberg catalogs describe CATALOG_NAME

Ganti CATALOG_NAME dengan nama katalog Anda.

Memeriksa status sinkronisasi

Sebelum memulai failover, periksa status sinkronisasi replika sekunder Anda dengan perintah gcloud biglake iceberg catalogs failover:

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --validate_only \
    --primary-replica PRIMARY_REPLICA_REGION

Ganti kode berikut:

  • CATALOG_NAME: nama katalog Anda.
  • PRIMARY_REPLICA_REGION: region yang akan ditetapkan sebagai replika utama baru.

Memulai failover

Fitur pemulihan dari bencana menggunakan replikasi metastore untuk menetapkan region utama dan sekunder. Semua metadata commit tabel ditayangkan dari region utama dan direplikasi ke region sekunder. Anda dapat mengganti region utama dan sekunder untuk katalog menggunakan operasi failover.

Soft failover

Untuk memulai failover ringan, jalankan perintah gcloud biglake iceberg catalogs failover berikut:

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION

Ganti kode berikut:

  • CATALOG_NAME: nama katalog Anda.
  • PRIMARY_REPLICA_REGION: region yang akan ditetapkan sebagai replika utama baru.

Hard failover

Untuk memulai failover paksa, jalankan perintah gcloud biglake iceberg catalogs failover berikut:

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION \
    --conditional-failover-replication-time=REPLICATION_TIMESTAMP

Ganti kode berikut:

  • CATALOG_NAME: nama katalog Anda.
  • PRIMARY_REPLICA_REGION: region yang akan ditetapkan sebagai replika utama baru.
  • REPLICATION_TIMESTAMP: stempel waktu RFC 3339 yang berfungsi sebagai titik pemeriksaan untuk replikasi. Proses replikasi memverifikasi bahwa replika berisi semua data yang di-commit hingga saat ini. Jika replika tidak berisi semua data yang di-commit sebelum stempel waktu ini, perintah akan gagal. Untuk memaksakan proses failover terlepas dari penundaan replikasi, tetapkan stempel waktu ini ke tanggal yang jauh di masa lalu. Catatan: Saat fitur ini dalam Pratinjau, REPLICATION_TIMESTAMP hanya melacak metadata katalog, bukan file Cloud Storage. Untuk menjaga kehilangan data dengan batas bawah, lihat dokumentasi Ketersediaan dan ketahanan data Cloud Storage.

Langkah berikutnya