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
Buka halaman Streams di Konsol Google Cloud .
Klik aliran yang berisi objek yang ingin Anda mulai pengisian ulangnya.
Klik tab Objek.
Centang kotak untuk setiap objek yang ingin Anda mulai pengisian ulang.
Klik Mulai pengisian ulang.
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
PendingmenjadiActive, laluCompleted. Jika objek memiliki statusCompleted, 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:
Buka halaman Streams di Konsol Google Cloud .
Klik aliran yang berisi objek yang ingin Anda mulai pengisian ulangnya.
Klik tab Objek.
Pilih objek yang ingin Anda mulai pengisian ulang.
Klik Mulai pengisian ulang.
Di panel yang muncul, centang kotak Aktifkan filter kustom.
Masukkan klausa SQL
WHEREAnda. Contoh,product_id > 12 AND timestamp = '2025-01-06T22:00:00.00'.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
TRUEatauFALSE.
- String: teks yang diapit dalam tanda kutip tunggal, misalnya,
ID:
- Kualifikasi: nama kolom dapat sepenuhnya memenuhi syarat menggunakan titik untuk menentukan skema atau tabel, misalnya,
myColumn,myTable.myColumn, ataumySchema.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 (
").
- Kualifikasi: nama kolom dapat sepenuhnya memenuhi syarat menggunakan titik untuk menentukan skema atau tabel, misalnya,
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)danNOW(). - Ekspresi aritmatika, misalnya,
column + 1 > 10. - Operator
LIKE. Karakter pengganti seperti%atau_tidak didukung denganLIKE. - Operator
BETWEEN. Sebagai gantinya, gunakan>=dan<=. - Subkueri, misalnya,
(SELECT ...)dalam klausaWHERE. - Pernyataan
CASE, misalnya,CASE WHEN ... END. - Perbandingan kolom, seperti
column1 = column2. Perbandingan harus dilakukan terhadap literal. DATEdanTIMEjenis atau fungsi tertentu.- Operator khusus array atau JSON.
- Pengecoran eksplisit: misalnya,
CAST(column AS INT).
Menghentikan pengisian ulang
Buka halaman Streams di Konsol Google Cloud .
Klik streaming yang berisi objek yang ingin Anda hentikan pengisian ulangnya.
Klik tab Objek.
Centang kotak untuk setiap objek yang ingin Anda hentikan pengisian ulangnya.
Klik Hentikan pengisian ulang.
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
- Untuk mempelajari lebih lanjut streaming, lihat Siklus proses streaming.
- Untuk mempelajari cara melihat informasi tentang streaming, lihat Melihat streaming.
- Untuk mempelajari cara mengubah streaming, lihat Mengubah streaming.
- Untuk mempelajari cara memantau streaming, lihat Memantau streaming.
- Untuk mempelajari cara memulihkan streaming yang gagal, lihat Memulihkan streaming.