Mengonfigurasi tujuan BigQuery

Untuk menganalisis update change data capture (CDC) dari sumber Anda hampir secara real time, Anda dapat melakukan streaming ke BigQuery menggunakan Datastream. Saat mengonfigurasi tujuan BigQuery, Anda memilih cara Datastream mengatur set data, memilih mode tulis gabungan atau hanya-tambah, dan menetapkan batas keusangan data.

Izin yang diperlukan

Datastream menggunakan dukungan bawaan BigQuery untuk update change data capture (CDC). Datastream memperbarui tabel BigQuery dengan memproses dan menerapkan perubahan yang di-streaming menggunakan BigQuery Storage Write API (gRPC).

Izin yang diperlukan untuk menggunakan API dan menyerap data ke BigQuery diberikan ke peran Datastream Service Agent.

Mengonfigurasi BigQuery sebagai tujuan

Untuk mengonfigurasi Datastream agar melakukan streaming ke BigQuery, lakukan langkah-langkah berikut:

  1. Pastikan BigQuery API diaktifkan di project Google CloudAnda.
  2. Jika Anda ingin menggunakan opsi Satu set data untuk semua skema, buat set data di BigQuery.
  3. Konfigurasi set data tujuan untuk streaming Anda.
  4. Konfigurasikan mode tulis.
  5. Tentukan batas keusangan data maksimum untuk aliran data Anda.

Mengonfigurasi set data tujuan

Set data adalah container tingkat teratas yang digunakan untuk mengatur dan mengontrol akses ke tabel BigQuery Anda.

Saat mengonfigurasi set data untuk tujuan BigQuery menggunakan Datastream, Anda dapat memilih salah satu opsi berikut:

  • Dataset for each schema: Set data dipilih atau dibuat secara otomatis oleh Datastream di lokasi BigQuery yang ditentukan, berdasarkan nama skema sumber. Hasilnya, setiap skema di sumber memiliki set data yang sesuai di BigQuery. Misalnya, jika Anda memiliki sumber MySQL, dan sumber ini memiliki database mydb dan tabel employees dalam database, Datastream akan membuat set data mydb dan tabel employees di BigQuery.

    Datastream membuat set data dalam project yang Anda pilih. Secara default, project Anda saat ini akan dipilih. Daftar set data menampilkan set data yang tersedia di project yang dipilih. Meskipun Anda tidak perlu membuat set data di region yang sama dengan aliran data, sebaiknya simpan semua resource untuk aliran data, serta set data, di region yang sama untuk pengoptimalan biaya dan performa.

  • Set data tunggal untuk semua skema: Anda memilih set data BigQuery untuk aliran data. Datastream mengalirkan semua data ke dalam set data ini. Untuk set data yang Anda pilih, Datastream membuat semua tabel sebagai <schema>_<table>.

    Misalnya, jika Anda memiliki sumber MySQL, dan sumber ini memiliki database mydb dan tabel employees dalam database, maka Datastream akan membuat tabel mydb_employees dalam set data yang Anda pilih.

    Anda dapat memilih set data dari project Google Cloud mana pun. Secara default, set data dari project saat ini ditampilkan. Anda juga dapat membuat set data baru di project yang dipilih.

Mengonfigurasi mode tulis

Ada dua mode yang dapat Anda gunakan untuk menentukan cara penulisan data ke BigQuery:

  • Merge: Ini adalah mode tulis default. Jika dipilih, BigQuery akan mencerminkan cara data Anda disimpan di database sumber. Artinya, Datastream menulis semua perubahan pada data Anda ke BigQuery, lalu BigQuery menggabungkan perubahan dengan data yang ada, sehingga membuat tabel akhir yang merupakan replika tabel sumber. Dengan mode penggabungan, tidak ada catatan historis peristiwa perubahan yang disimpan. Misalnya, jika Anda menyisipkan lalu memperbarui baris, BigQuery hanya akan menyimpan data yang diperbarui. Jika Anda kemudian menghapus baris dari tabel sumber, BigQuery tidak akan lagi menyimpan data baris tersebut.

  • Hanya-tambahkan: Mode tulis hanya-tambahkan memungkinkan Anda menambahkan data ke BigQuery sebagai aliran perubahan (peristiwa INSERT, UPDATE-INSERT, UPDATE-DELETE, dan DELETE). Gunakan mode ini saat Anda perlu mempertahankan status historis data Anda.

    Untuk lebih memahami mode penulisan hanya tambah, pertimbangkan skenario berikut:

    • Pengisian ulang awal: setelah pengisian ulang awal, semua peristiwa ditulis ke BigQuery sebagai peristiwa jenis INSERT, dengan stempel waktu, ID unik universal (UUID), dan nomor urut perubahan yang sama.
    • Pembaruan kunci utama: saat kunci utama berubah, dua baris akan ditulis ke BigQuery:
      • Baris UPDATE-DELETE dengan kunci utama asli
      • Baris UPDATE-INSERT dengan kunci utama baru
    • Pembaruan baris: saat Anda memperbarui baris, satu baris UPDATE-INSERT ditulis ke BigQuery
    • Penghapusan baris: saat Anda menghapus baris, satu baris DELETE akan ditulis ke BigQuery

Menentukan batas keusangan data

BigQuery menerapkan modifikasi sumber di latar belakang secara berkelanjutan, atau pada waktu kueri dijalankan, sesuai dengan batas keaktualan data yang dikonfigurasi. Saat Datastream membuat tabel baru di BigQuery, opsi max_staleness tabel ditetapkan sesuai dengan nilai batas keusangan data saat ini untuk aliran data. Hal ini memastikan bahwa tabel tidak pernah melebihi batas keusangan yang diterapkan. Batas keusangan data tidak memengaruhi frekuensi tugas penggabungan BigQuery.

Untuk mengetahui informasi selengkapnya tentang cara menggunakan tabel BigQuery dengan opsi max_staleness, lihat Keterlambatan tabel.