Mode real time dalam Streaming Terstruktur

Halaman ini menjelaskan konsep di balik mode real-time dalam Streaming Terstruktur, termasuk apa itu, bagaimana mencapai latensi rendah, dan kapan menggunakannya.

Apa itu mode real-time?

Mode real time adalah jenis pemicu untuk Streaming Terstruktur yang memungkinkan pemrosesan data latensi sangat rendah dengan latensi end-to-end serendah lima milidetik. Gunakan mode real time untuk beban kerja operasional yang memerlukan respons langsung terhadap data streaming, seperti deteksi penipuan, personalisasi real time, dan sistem pengambilan keputusan instan.

Bagaimana mode real time mencapai latensi rendah

Mode real time meningkatkan arsitektur eksekusi dengan:

  • Menjalankan batch yang berjalan lama (defaultnya adalah lima menit), di mana sistem memproses data saat tersedia di sumbernya.
  • Menjadwalkan semua tahapan kueri secara bersamaan. Ini mengharuskan jumlah slot tugas yang tersedia sama dengan atau lebih besar dari jumlah tugas semua tahap dalam batch.
  • Meneruskan data antar tahap segera setelah diproduksi menggunakan pengacakan streaming.

Di akhir pemrosesan batch, dan sebelum batch berikutnya dimulai, Structured Streaming melakukan checkpoint kemajuan dan menerbitkan metrik. Durasi batch memengaruhi frekuensi titik pemeriksaan:

  • Untuk batch yang lebih panjang, titik pemeriksaan terjadi lebih jarang, yang berarti pengulangan lebih lama jika terjadi kegagalan dan ketersediaan metrik menjadi tertunda.
  • Untuk batch yang lebih pendek, titik pemeriksaan terjadi lebih sering, yang dapat memengaruhi latensi.

Azure Databricks merekomendasikan untuk membandingkan mode waktu nyata terhadap beban kerja target Anda guna menemukan interval pemicu yang sesuai.

Kapan menggunakan mode real-time

Pilih mode real time saat kasus penggunaan Anda memerlukan:

  • Latensi sub-detik: Aplikasi yang perlu merespons data dalam milidetik. Misalnya, memblokir atau menandai transaksi kartu kredit secara real time jika skor penipuan melebihi ambang batas berdasarkan lokasi yang tidak biasa, ukuran transaksi besar, atau pola pengeluaran yang cepat.
  • Pengambilan keputusan operasional: Sistem yang memicu tindakan langsung berdasarkan data masuk. Misalnya, mengirimkan pesan promosi saat data clickstream menunjukkan pengguna telah menelusuri produk, menawarkan diskon jika mereka membeli dalam 15 menit ke depan.
  • Pemrosesan berkelanjutan: Beban kerja tempat data harus diproses segera setelah tiba, bukan dalam batch berkala.

Gunakan mode mikro-batch (pemicu Streaming Terstruktur default) saat kasus penggunaan Anda memerlukan:

  • Pemrosesan analitik: Alur ETL, transformasi data, dan implementasi arsitektur medali di mana persyaratan latensi diukur dalam hitungan detik atau menit.
  • Pengoptimalan biaya: Beban kerja di mana latensi sub-detik tidak diperlukan, karena mode real-time memerlukan sumber daya komputasi khusus.
  • Frekuensi titik pemeriksaan penting: Aplikasi yang mendapat manfaat dari titik pemeriksaan yang lebih sering untuk pemulihan yang lebih cepat.

Dukungan dan batasan fitur

Untuk daftar lengkap lingkungan, bahasa, tipe komputasi, sumber, sasaran, operator, dan batasan yang diketahui, lihat Referensi mode real-time.

Sumber daya tambahan