Praktik terbaik umum saat menggunakan Datastream

Di halaman ini, Anda akan menemukan praktik terbaik untuk menggunakan Datastream. Hal ini mencakup praktik terbaik umum saat menggunakan Datastream.

Mengubah database sumber aliran

Dalam beberapa kasus, Anda mungkin harus mengubah database sumber aliran. Misalnya, Anda mungkin harus mengubah aliran untuk mereplikasi dari replika, bukan dari instance database utama.

  1. Buat profil koneksi untuk instance replika.
  2. Buat aliran data, menggunakan profil koneksi untuk replika yang Anda buat dan profil koneksi yang ada untuk tujuan.
  3. Mulai streaming dengan pengisian ulang historis dinonaktifkan. Saat dimulai, streaming hanya akan mengambil data dari log biner.
  4. Opsional. Setelah streaming berjalan, ubah untuk mengaktifkan pengisian ulang otomatis.
  5. Jeda streaming yang membaca dari instance utama.
  6. Opsional. Hapus aliran yang melakukan streaming data dari instance utama.
  7. Opsional. Hapus profil koneksi untuk instance utama.

Membuat pemberitahuan dan memantau di Datastream

Dasbor Datastream berisi banyak informasi. Informasi ini dapat berguna untuk tujuan proses debug. Informasi tambahan dapat ditemukan di log, yang tersedia di Cloud Logging.

Pemberitahuan Datastream

Tidak ada pemberitahuan default yang disiapkan untuk Datastream. Misalnya, Anda dapat membuat kebijakan pemberitahuan untuk metrik Keaktualan data dengan mengklik link Buat kebijakan pemberitahuan di tab Ringkasan. Untuk metrik lainnya, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman  Pemberitahuan:

    Buka Pemberitahuan

  2. Klik Create policy.

  3. Klik drop-down Pilih metrik.

  4. Di kolom filter, masukkan Datastream.

  5. Opsional: Anda mungkin perlu menonaktifkan filter Aktif untuk melihat semua metrik yang tersedia.

  6. Telusuri metrik yang ingin Anda pantau di bagian Aliran Datastream.

  7. Klik Terapkan.

  8. Opsional: Masukkan detail yang diperlukan di bagian Tambahkan filter dan Transformasi data. Klik Next.

  9. Masukkan informasi yang diperlukan di bagian Konfigurasi pemicu pemberitahuan. Klik Next.

  10. Konfigurasi notifikasi Anda di bagian Configure notifications and finalize alert.

  11. Tinjau pemberitahuan Anda, lalu klik Buat kebijakan jika sudah siap.

    Untuk mengetahui informasi mendetail tentang cara menyelesaikan setiap langkah ini, lihat Membuat kebijakan pemberitahuan.

Sebaiknya buat pemberitahuan untuk metrik Datastream berikut:

  • Keaktualan data
  • Jumlah peristiwa yang tidak didukung di streaming
  • Total latensi streaming

Peringatan pada salah satu metrik ini dapat menunjukkan masalah pada aliran atau database sumber.

Memahami latensi

Datastream menyediakan metrik berikut untuk membantu Anda memahami latensi replikasi:

  • Keaktualan data: perbedaan antara waktu saat data di-commit ke sumber dan waktu saat data dibaca oleh Datastream. Jika metrik ini tinggi, berarti Datastream membaca data lebih lambat daripada data yang dihasilkan di sumber. Hal ini menunjukkan bahwa mungkin ada masalah dengan sumber atau dengan koneksi jaringan ke sumber.
  • Latensi sistem: waktu yang diperlukan Datastream untuk memproses peristiwa, mulai dari saat peristiwa dibaca dari sumber hingga ditulis ke tujuan.
  • Total latensi: jeda replikasi end-to-end, yang merepresentasikan total waktu mulai dari saat data di-commit ke sumber hingga ditulis ke tujuan.

Jika keaktualan data tinggi, penyebab umumnya meliputi:

  • Overload sumber: database sumber membuat log (file binlog, file log pengulangan, file WAL) lebih cepat daripada yang dapat dibaca Datastream.
    • Tindakan untuk MySQL/Oracle: Tingkatkan parameter maxConcurrentCdcTasks untuk membaca lebih banyak log secara paralel.
    • Tindakan untuk PostgreSQL: mengisolasi tabel dengan churn tinggi ke dalam streaming khusus mereka sendiri.
    • Tindakan untuk SQL Server: tingkatkan parameter maxConcurrentCdcTasks untuk membaca lebih banyak tabel perubahan secara paralel.
  • Kekurangan resource sumber: server database sumber itu sendiri mengalami masalah seperti penggunaan CPU yang tinggi, memori yang rendah, atau hambatan I/O disk.
    • Tindakan: pastikan instance sumber responsif. Periksa penggunaan CPU/RAM. Untuk PostgreSQL, pertimbangkan untuk meningkatkan nilai parameter logical_decoding_work_mem; untuk Oracle, pastikan SGA (system global area) yang dialokasikan sudah cukup.
  • Masalah kapasitas jaringan: waktu ping yang tinggi atau bandwidth yang penuh antara sumber dan Google Cloud.
    • Tindakan: pantau bandwidth dan latensi VPN atau Cloud Interconnect Anda.
  • Transaksi besar tunggal: tugas batch besar, seperti UPDATE pada jutaan baris, dapat menyebabkan lonjakan latensi sementara.
    • Tindakan: hal ini sudah diperkirakan. Tunggu Datastream memproses peristiwa besar. Pertimbangkan untuk membagi tugas batch besar menjadi beberapa bagian yang lebih kecil pada masa mendatang.

Jika latensi sistem tinggi, hal ini dapat menunjukkan masalah dalam Datastream atau tujuan.

  • Tindakan: periksa Cloud Logging untuk mengetahui apakah ada error tingkat baris yang persisten (misalnya, invalid input for type json. Jika aliran berada dalam loop percobaan ulang karena error jenis data atau batasan, hal ini mungkin memerlukan koreksi data manual di sumber. Jika tidak ada error yang jelas, hubungi Dukungan Google untuk mendapatkan bantuan.

Berapa banyak tabel yang dapat ditangani oleh satu aliran?

Sebaiknya satu aliran mencakup hingga 10.000 tabel. Tidak ada batasan ukuran tabel. Jika Anda perlu membuat streaming dengan lebih banyak tabel, streaming tersebut mungkin mengalami error. Untuk menghindari hal ini, pertimbangkan untuk membagi sumber menjadi beberapa aliran.