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.
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.
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