Bagikan melalui


Pemadatan log di Azure Event Hubs

Pemadatan log adalah cara untuk menyimpan data di Azure Event Hubs menggunakan retensi berbasis kunci peristiwa. Secara default, setiap topik event hub/Kafka dibuat dengan retensi berbasis waktu atau kebijakan pembersihan penghapusan , di mana peristiwa dihapus menyeluruh setelah kedaluwarsa waktu retensi. Alih-alih menggunakan retensi berbasis waktu kasar, Anda dapat menggunakan mekanisme retensi berbasis kunci peristiwa di mana Azure Event Hubs melatih kembali nilai terakhir yang diketahui untuk setiap kunci peristiwa pusat aktivitas atau topik Kafka.

Catatan

Fitur pemadatan log tidak didukung di tingkat dasar * .

Seperti yang ditunjukkan pada gambar berikut, log peristiwa (dari partisi hub peristiwa) mungkin memiliki beberapa peristiwa dengan kunci yang sama. Jika Anda menggunakan hub peristiwa yang dikompresi, maka layanan Azure Event Hubs mengurus penghapusan menyeluruh peristiwa lama dan hanya menyimpan peristiwa terbaru dari kunci peristiwa tertentu.

Diagram memperlihatkan bagaimana topik dikompresi.

Kunci pemadatan

Kunci partisi yang Anda tetapkan dengan setiap peristiwa digunakan sebagai kunci pemadatan.

Batu Nisan

Aplikasi klien dapat menandai peristiwa hub peristiwa yang ada untuk dihapus selama pekerjaan pemadatan. Penanda ini dikenal sebagai Batu Nisan. Aplikasi klien mengatur batu nisan dengan mengirim peristiwa baru dengan kunci yang ada dan null payload peristiwa.

Cara kerja pemadatan log

Anda dapat mengaktifkan pemadatan log di setiap tingkat topik event hub/Kafka. Anda dapat menyerap peristiwa ke artikel yang dikompresi dari protokol dukungan apa pun. Layanan Azure Event Hubs menjalankan pekerjaan pemadatan untuk setiap hub peristiwa yang dikompresi. Pekerjaan pemadatan membersihkan setiap log partisi hub peristiwa dengan hanya mempertahankan peristiwa terbaru dari kunci peristiwa tertentu.

Diagram memperlihatkan cara kerja pemadatan log.

Pada waktu tertentu, log peristiwa hub peristiwa yang dikompresi dapat memiliki bagian yang dibersihkan dan bagian kotor . Bagian bersih berisi peristiwa yang dikompresi oleh pekerjaan pemadatan sementara bagian kotor terdiri dari peristiwa yang belum dikompilasi.

Layanan Azure Event Hubs mengelola eksekusi pekerjaan pemadatan dan pengguna tidak dapat mengontrolnya. Oleh karena itu, layanan Azure Event Hubs menentukan kapan harus memulai pemadatan dan seberapa cepat memadatkan hub peristiwa ringkas tertentu.

Jaminan pemadatan

Fitur pemadatan log Azure Event Hubs memberikan jaminan berikut:

  • Urutan pesan selalu dipertahankan pada tingkat kunci dan partisi. Pekerjaan pemadatan tidak mengubah urutan pesan tetapi hanya membuang peristiwa lama dari kunci yang sama.
  • Nomor urut dan offset pesan tidak pernah berubah.
  • Setiap konsumen yang maju dari awal log peristiwa melihat setidaknya status akhir semua peristiwa dalam urutan penulisannya.
  • Konsumen masih dapat melihat peristiwa yang ditandai untuk dihapus selama waktu yang ditentukan oleh Waktu Retensi Tombstone(jam).

Kasus penggunaan pemadatan log

Pemadatan log dapat berguna dalam skenario di mana Anda mengalirkan kumpulan peristiwa yang dapat diperbarui yang sama. Karena hub peristiwa yang dikompresi hanya menyimpan peristiwa terbaru, pengguna tidak perlu khawatir tentang pertumbuhan penyimpanan peristiwa. Oleh karena itu pemadatan log umumnya digunakan dalam skenario seperti Change Data Capture (CDC), mempertahankan peristiwa dalam tabel untuk aplikasi pemrosesan aliran dan penembolokan peristiwa.

Kuota dan pembatasan

Batas Dasar Standard Premium Khusus
Ukuran hub peristiwa yang dikompresi T/A 1 GB per partisi 250 GB per partisi 250 GB per partisi

Untuk kuota dan batasan lainnya, lihat Kuota dan batas Azure Event Hubs.

Langkah berikutnya

Untuk petunjuk tentang cara menggunakan pemadatan log di Azure Event Hubs, lihat Menggunakan pemadatan log