A naplótömörítés az Event Hubsban az adatok eseménykulcson alapuló megőrzésének egyik módja. Alapértelmezés szerint minden eseményközpont/Kafka-témakör időalapú megőrzési vagy törlési szabályzattal jön létre, ahol az események a megőrzési idő lejártakor törlődnek. A durvább időalapú adatmegőrzés helyett olyan eseménykulcs-alapú adatmegőrzési mechanizmust használhat, amelyben az Event Hubs megtartja egy eseményközpont vagy egy Kafka-témakör minden egyes eseménykulcsának utolsó ismert értékét.
Megjegyzés
A napló tömörítési funkciója nem támogatott a * alapszinten .
Az alábbi képen látható módon egy eseménynapló (egy eseményközpont partíciójának) több eseménye is lehet ugyanazzal a kulccsal. Ha tömörített eseményközpontot használ, akkor az Event Hubs szolgáltatás gondoskodik a régi események törléséről, és csak egy adott eseménykulcs legújabb eseményeinek megőrzéséről.
Tömörítési kulcs
Az egyes eseményekhez beállított partíciókulcs lesz a tömörítési kulcs.
Sírkövek
Az ügyfélalkalmazás megjelölheti egy eseményközpont meglévő eseményeit, hogy a tömörítési feladat során törölhetők legyenek. Ezeket a jelölőket Tombstone-nak nevezzük. Az ügyfélalkalmazások úgy állíthatnak be sírköveket, hogy egy új eseményt küldenek egy meglévő kulccsal és egy null esemény hasznos adatával.
A napló tömörítésének működése
A napló tömörítését minden eseményközpont/Kafka témakör szintjén engedélyezheti. Az eseményeket bármilyen támogatási protokollból betöltheti egy tömörített cikkbe. Az Azure Event Hubs szolgáltatás minden tömörített eseményközponthoz futtat egy tömörítési feladatot. A tömörítési feladat az egyes eseményközpont partíciónaplóit úgy tisztítja meg, hogy csak egy adott eseménykulcs legújabb eseményét őrzi meg.
A tömörített eseményközpont eseménynaplója bármikor tisztított és piszkos részből áll. A tiszta rész tartalmazza a tömörítési feladat által tömörített eseményeket, míg a piszkos rész a még tömörítendő eseményeket tartalmazza.
Az Event Hubs szolgáltatás kezeli a tömörítési feladat végrehajtását, és a felhasználó nem tudja vezérelni. Ezért az Event Hubs szolgáltatás határozza meg, hogy mikor kezdjen tömörítést, és hogy milyen gyorsan tömörítsen egy adott tömörített eseményközpontot.
Tömörítési garanciák
Az Event Hubs naplótömörülési funkciója a következő garanciát biztosítja:
Az üzenetek sorrendje mindig a kulcs és a partíció szintjén marad fenn. A tömörítési feladat nem módosítja az üzenetek sorrendjét, de egyszerűen elveti ugyanannak a kulcsnak a régi eseményeit.
Az üzenet sorszáma és eltolása soha nem változik.
Az eseménynapló kezdetétől előrehaladt felhasználók legalább az összes esemény végső állapotát látják az írásuk sorrendjében.
A felhasználók továbbra is láthatják a Tombstone-megőrzési idő (órák) által meghatározott időre törölendőként megjelölt eseményeket.
Naplótömörödési használati esetek
A naplótömörítése olyan helyzetekben lehet hasznos, amikor ugyanazt az eseménykészletet streameli. Mivel a tömörített eseményközpontok csak a legújabb eseményeket tartják meg, a felhasználóknak nem kell aggódniuk az eseménytároló növekedése miatt. Ezért gyakran használják a naplótömörítést olyan forgatókönyvekben, mint a Change Data Capture (CDC), amely a streamfeldolgozási alkalmazások és az esemény gyorsítótárazásához használt táblák eseményeit tartja karban.
Hatékony lekérdezések írása, indexelési szabályzatok létrehozása, erőforrások kezelése és kiépítése az SQL API-ban és az SDK-ban a Microsoft Azure Cosmos DB-vel.