Mengonfigurasi tujuan BigQuery

Halaman ini menjelaskan cara mengonfigurasi Datastream sehingga Anda dapat menulis data ke set data BigQuery.

Izin yang diperlukan

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

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 Google Cloud project Anda.
  2. Jika Anda ingin menggunakan opsi Satu set data untuk semua skema, buat set data di BigQuery.
  3. Konfigurasi set data tujuan untuk aliran data Anda.
  4. Konfigurasi mode penulisan.
  5. Tentukan batas kehabisan data maksimum untuk streaming 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:

  • Set data untuk setiap skema: Set data dipilih atau dibuat secara otomatis oleh Datastream di lokasi BigQuery yang ditentukan, berdasarkan nama skema sumber. Akibatnya, 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.

    Jika Anda memilih opsi ini, Datastream akan membuat set data di project yang berisi stream. 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 streaming. Aliran data 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 di set data yang Anda pilih.

Mengonfigurasi mode penulisan

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

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

  • Khusus penambahan: Mode penulisan khusus penambahan 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 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.

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