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 elk Event Hub/Kafka-onderwerp gemaakt met retentie op basis van tijd of het opschoonbeleid voor verwijderen , waarbij gebeurtenissen worden opgeschoond na het verstrijken van de bewaartijd. In plaats van grof korrelige retentie op basis van tijd, kunt u een bewaarmechanisme op basis van gebeurtenissleutels 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 wordt weergegeven in de volgende afbeelding, 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 ervoor dat oude gebeurtenissen worden opgeschoond en alleen de meest recente gebeurtenissen van een bepaalde gebeurtenissleutel behouden.

Diagram waarin wordt getoond hoe een onderwerp wordt gecomprimeerd.

Compressiesleutel

De partitiesleutel die u met 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 worden Tombstones genoemd. Clienttoepassingen stellen tombstones in door een nieuwe gebeurtenis te verzenden met een bestaande sleutel en een nettolading voor gebeurtenissen null .

Hoe compressie van logboeken werkt

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

Diagram waarin wordt getoond hoe logboekcompressie werkt.

Op elk gewenst moment kan het gebeurtenislogboek van een gecomprimeerde Event Hub een opgeschoond gedeelte en vuil gedeelte hebben. Het schone gedeelte bevat de gebeurtenissen die worden gecomprimeerd door de compressietaak terwijl het vuile gedeelte bestaat uit de gebeurtenissen 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 moet worden 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 op sleutel- en partitieniveau bijgehouden. De compressietaak verandert de volgorde van berichten niet, maar negeert alleen de oude gebeurtenissen van dezelfde sleutel.
  • Het volgnummer en de verschuiving van een bericht worden nooit gewijzigd.
  • Elke consument die vanaf het begin van het gebeurtenislogboek vordert, 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 Retention Time(hours).

Gebruiksvoorbeelden 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 behouden, 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 het verwerken van toepassingen en gebeurteniscaching.

Quota en limieten

Grenswaarde 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 Event Hubs-quota en -limieten voor andere quota en limieten.

Volgende stappen

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