Share via


Logboekcompressie in Azure Event Hubs

Logboekcompressie is een manier om gegevens in Event Hubs te bewaren met behulp van retentie op basis van een gebeurtenissleutel. Standaard wordt elke Event Hub/Kafka-onderwerp gemaakt met op tijd gebaseerde retentie of het verwijderingsbeleid , waarbij gebeurtenissen worden opgeschoond na het verstrijken van de bewaartijd. In plaats van grovere retentie op basis van tijd te gebruiken, kunt u een retentiemechanisme op basis van een gebeurtenissleutel gebruiken, waarbij Event Hubs de laatst bekende waarde voor elke gebeurtenissleutel van een Event Hub of een Kafka-onderwerp opnieuw trainen.

Notitie

De functie logboekcompressie wordt niet ondersteund in de basic-laag * .

Zoals in de volgende afbeelding wordt weergegeven, kan een gebeurtenislogboek (van een Event Hub-partitie) meerdere gebeurtenissen met dezelfde sleutel hebben. Als u een gecomprimeerde Event Hub gebruikt, zorgt de Event Hubs-service voor het opschonen van oude gebeurtenissen en het bewaren van alleen de meest recente gebeurtenissen van een bepaalde gebeurtenissleutel.

Diagram waarin wordt getoond hoe een onderwerp wordt gecomprimeerd.

Compressiesleutel

De partitiesleutel die u bij elke gebeurtenis instelt, wordt gebruikt als de compressiesleutel.

Grafstenen

Clienttoepassing kan bestaande gebeurtenissen van een Event Hub markeren die tijdens de compressietaak moeten worden verwijderd. Deze markeringen staan bekend als Tombstones. Clienttoepassingen stellen tombstones in door een nieuwe gebeurtenis met een bestaande sleutel en een nettolading voor gebeurtenissen null te verzenden.

Hoe logboekcompressie werkt

U kunt logboekcompressie inschakelen op elk event hub-/Kafka-onderwerpniveau. U kunt gebeurtenissen opnemen in een gecomprimeerd artikel vanuit elk ondersteuningsprotocol. Azure Event Hubs service voert een compressietaak uit voor elke gecomprimeerde Event Hub. Met de compressietaak wordt elk partitielogboek van de Event Hub opgeschoond door alleen de meest recente gebeurtenis van een bepaalde gebeurtenissleutel te bewaren.

Diagram waarin wordt getoond hoe logboekcompressie werkt.

Op elk gewenst moment kan het gebeurtenislogboek van een gecomprimeerde Event Hub een opgeschoond en vuil gedeelte bevatten. Het schone gedeelte bevat de gebeurtenissen die door de compressietaak worden gecomprimeerd, terwijl het vuile gedeelte de gebeurtenissen bevat die nog moeten worden gecomprimeerd.

De Event Hubs-service beheert de uitvoering van de compressietaak en de gebruiker kan deze niet beheren. Daarom bepaalt de Event Hubs-service wanneer de compressie wordt gestart en hoe snel een bepaalde gecomprimeerde Event Hub wordt gecomprimeerd.

Compressiegaranties

De functie logboekcompressie van Event Hubs biedt de volgende garantie:

  • De volgorde van de berichten wordt altijd bijgehouden op sleutel- en partitieniveau. De compressietaak wijzigt de volgorde van berichten niet, maar verwijdert alleen de oude gebeurtenissen van dezelfde sleutel.
  • Het volgnummer en de verschuiving van een bericht worden nooit gewijzigd.
  • Elke consument die vooruitgang boekt vanaf het begin van het gebeurtenislogboek, ziet ten minste de uiteindelijke status van alle gebeurtenissen in de volgorde waarin ze zijn geschreven.
  • Consumenten kunnen nog steeds gebeurtenissen zien die zijn gemarkeerd om te worden verwijderd voor de tijd die is gedefinieerd door Tombstone-retentietijd (uren).

Use cases voor logboekcompressie

Logboekcompressie kan handig zijn in scenario's waarin u dezelfde set updatable gebeurtenissen streamt. Omdat gecomprimeerde Event Hubs alleen de meest recente gebeurtenissen bewaren, hoeven gebruikers zich geen zorgen te maken over de groei van de gebeurtenisopslag. Daarom wordt logboekcompressie vaak gebruikt in scenario's zoals Change Data Capture (CDC), het onderhouden van gebeurtenissen in tabellen voor toepassingen voor streamverwerking en het opslaan van gebeurtenissen in de cache.

Quota en limieten

Limiet Basic Standard Premium Toegewezen
Grootte van gecomprimeerde Event Hub N.v.t. 1 GB per partitie 250 GB per partitie 250 GB per partitie

Zie Quota en limieten voor Event Hubs voor andere quota en limieten.

Volgende stappen

Zie Logboekcompressie gebruiken voor instructies over het gebruik van logboekcompressie in Event Hubs