Mengelola pengisian ulang untuk objek streaming

Aliran di Datastream dapat mengisi ulang data historis, serta melakukan streaming perubahan berkelanjutan ke tujuan. Sebagai bagian dari pembuatan aliran, Anda mengonfigurasi informasi tentang database sumber untuk aliran.

Jika Anda mencentang kotak Isi ulang data historis, maka Datastream akan mengalirkan semua data yang ada, selain perubahan pada data, dari sumber ke tujuan.

Jika Anda tidak mencentang kotak ini, Datastream hanya akan mengalirkan perubahan pada data. Agar Datastream dapat melakukan streaming snapshot semua data yang ada dari sumber ke tujuan, Anda harus memulai pengisian ulang untuk objek yang berisi data ini. Objeknya berbentuk skema, tabel, dan kolom database.

Alasan lain untuk memulai pengisian ulang objek adalah jika data tidak sinkron antara sumber dan tujuan. Misalnya, pengguna dapat menghapus data di tujuan secara tidak sengaja, dan data tersebut kini hilang. Dalam hal ini, memulai pengisian ulang untuk objek berfungsi sebagai mekanisme reset karena semua data di-streaming ke tujuan dalam satu kali. Akibatnya, data disinkronkan antara sumber dan tujuan.

Setelah memulai pengisian ulang untuk objek, Anda dapat menghentikan pengisian ulang untuk objek tersebut. Dalam contoh sebelumnya, pengguna mengubah skema database, dan skema atau data rusak. Anda tidak ingin skema atau data ini dialirkan ke tujuan, sehingga Anda menghentikan pengisian ulang untuk objek tersebut.

Anda juga dapat menghentikan pengisian ulang untuk objek guna tujuan load balancing. Datastream dapat menjalankan beberapa pengisian ulang secara paralel. Tindakan ini dapat menambah beban pada sumber. Jika beban signifikan, hentikan pengisian ulang untuk objek, lalu mulai pengisian ulang untuk objek tersebut satu per satu.

Status objek

Berbagai status dalam siklus proses memulai dan menghentikan pengisian ulang untuk suatu objek mencakup:

  • Tidak ada status (ditampilkan di UI sebagai -): Alasan objek menerima status ini mencakup:

    • Streaming belum dimulai.
    • Kotak centang Isi ulang data historis tidak dicentang (sehingga pengisian ulang ditentukan sebagai manual).
    • Objek secara eksplisit dikecualikan agar tidak diisi ulang secara otomatis.
    • Aliran dikonfigurasi untuk menyertakan tabel mendatang. Jika hal ini terjadi, maka saat tabel baru ditambahkan ke sumber, tidak ada tugas pengisian ulang otomatis yang dibuat untuk tabel tersebut (karena tabel baru biasanya tidak memiliki data historis untuk diisi ulang).
  • Pending: pengisian ulang belum dimulai untuk objek.

  • Active: pengisian ulang sedang berlangsung untuk objek.

  • Completed: pengisian ulang selesai untuk objek.

  • Stopped: pengisian ulang dihentikan untuk objek. Jika pengisian ulang dimulai lagi untuk objek, Datastream akan mengalirkan semua data yang ada yang terkait dengan objek dari sumber ke tujuan.

  • Failed: pengisian ulang gagal untuk objek dan pengisian ulang harus dimulai lagi.

Mulai pengisian ulang

  1. Buka halaman Streams di Konsol Google Cloud .

    Buka halaman Streams

  2. Klik aliran yang berisi objek yang ingin Anda mulai pengisian ulangnya.

  3. Klik tab Objek.

  4. Centang kotak untuk setiap objek yang ingin Anda mulai pengisian ulang.

  5. Klik Mulai pengisian ulang.

  6. Jika Anda hanya memilih satu objek, klik MULAI PENGISIAN ULANG OBJEK di dialog. Atau, jika Anda memilih beberapa objek, klik MULAI PENGISIAN ULANG OBJEK.

    Datastream akan memulai pengisian ulang untuk objek yang Anda pilih, dan status setiap objek akan berubah dari Pending menjadi Active, lalu Completed. Jika objek memiliki status Completed, artinya Datastream telah membaca semua data untuk objek tersebut, tetapi data mungkin masih dimuat ke tujuan.

Mulai pengisian ulang sebagian

Selain pengisian ulang penuh, Anda dapat melakukan pengisian ulang sebagian untuk memuat subkumpulan data tertentu dari sumber ke tujuan. Untuk melakukannya, Anda memberikan klausa SQL WHERE sebagai filter kustom.

Datastream mendukung pengisian ulang sebagian untuk sumber berikut:

  • SQL Server
  • Spanner
  • Oracle
  • PostgreSQL

Untuk memulai pengisian ulang sebagian:

  1. Buka halaman Streams di Konsol Google Cloud .

    Buka halaman Streams

  2. Klik aliran yang berisi objek yang ingin Anda mulai pengisian ulangnya.

  3. Klik tab Objek.

  4. Pilih objek yang ingin Anda mulai pengisian ulang.

  5. Klik Mulai pengisian ulang.

  6. Di panel yang muncul, centang kotak Aktifkan filter kustom.

  7. Masukkan klausa SQL WHERE Anda. Contoh, product_id > 12 AND timestamp = '2025-01-06T22:00:00.00'.

  8. Klik Mulai pengisian ulang.

Datastream akan memvalidasi filter. Jika validasi gagal, pesan error akan muncul di atas editor. Jika validasi berhasil, Datastream akan memulai tugas pengisian ulang.

Sintaksis filter kustom yang didukung

Saat Anda memberikan filter kustom, Datastream mendukung subset dasar sintaksis klausa WHERE SQL. Elemen yang didukung meliputi:

  • Operator logika: AND, OR
  • Operator perbandingan: =, <, >, <=, >=, !=
  • Kondisi: IN, NOT IN, IS NULL, IS NOT NULL
  • Pengelompokan: tanda kurung () untuk menentukan grup kondisi
  • Nilai:

    • String: teks yang diapit dalam tanda kutip tunggal, misalnya, 'value',
    • Angka: bilangan bulat (123), desimal (123.45), bilangan negatif (-10), dan angka dengan eksponen (1.2e3).
    • Nilai boolean: Kata kunci peka huruf besar/kecil TRUE atau FALSE.
  • ID:

    • Kualifikasi: nama kolom dapat sepenuhnya memenuhi syarat menggunakan titik untuk menentukan skema atau tabel, misalnya, myColumn, myTable.myColumn, atau mySchema.myTable.myColumn.
    • ID yang tidak dikutip: dapat berisi huruf, angka, dan garis bawah, serta harus diawali dengan huruf atau garis bawah. Kepekaan huruf besar/kecil untuk nama kolom atau tabel bergantung pada database target.
    • ID yang diapit tanda kutip ganda: harus diapit dalam tanda kutip ganda (").

Batasan pengisian ulang sebagian

Pernyataan, operator, dan kata kunci tertentu dilarang secara eksplisit dan penggunaan kata kunci tersebut akan menghasilkan error. Fitur tersebut meliputi:

  • Komentar, seperti -- atau /* */.
  • Fungsi, misalnya, UPPER(column) dan NOW().
  • Ekspresi aritmatika, misalnya, column + 1 > 10.
  • Operator LIKE. Karakter pengganti seperti % atau _ tidak didukung dengan LIKE.
  • Operator BETWEEN. Sebagai gantinya, gunakan >= dan <=.
  • Subkueri, misalnya, (SELECT ...) dalam klausa WHERE.
  • Pernyataan CASE, misalnya, CASE WHEN ... END.
  • Perbandingan kolom, seperti column1 = column2. Perbandingan harus dilakukan terhadap literal.
  • DATE dan TIME jenis atau fungsi tertentu.
  • Operator khusus array atau JSON.
  • Pengecoran eksplisit: misalnya, CAST(column AS INT).

Menghentikan pengisian ulang

  1. Buka halaman Streams di Konsol Google Cloud .

    Buka halaman Streams

  2. Klik streaming yang berisi objek yang ingin Anda hentikan pengisian ulangnya.

  3. Klik tab Objek.

  4. Centang kotak untuk setiap objek yang ingin Anda hentikan pengisian ulangnya.

  5. Klik Hentikan pengisian ulang.

  6. Jika Anda hanya memilih satu objek, klik Hentikan pengisian ulang objek dalam dialog. Jika tidak, jika Anda memilih beberapa objek, klik Hentikan pengisian ulang objek.

    Aliran data akan menghentikan pengisian ulang untuk objek yang Anda pilih, dan status setiap objek akan berubah menjadi Stopped.

    Jika objek memiliki status ini, pengisian ulang dihentikan untuk objek tersebut. Jika pengisian ulang dimulai lagi untuk objek, Datastream akan melakukan streaming semua data yang ada yang terkait dengan objek dari sumber ke tujuan.

Langkah berikutnya