Udostępnij przez


Kompaktowanie dzienników w usłudze Azure Event Hubs

Kompaktowanie dzienników to sposób przechowywania danych w usłudze Event Hubs przy użyciu przechowywania opartego na kluczach zdarzeń. Domyślnie każdy temat w centrum zdarzeń lub temat Kafka jest tworzony z przechowywaniem opartym na czasie lub polityką usuwania, gdzie zdarzenia są usuwane po upływie czasu przechowywania. Zamiast tego używać grubszego przechowywania opartego na czasie, można użyć mechanizmu przechowywania opartego na kluczach zdarzeń, w którym usługa Event Hubs zachowuje ostatnią znaną wartość dla każdego klucza zdarzenia centrum zdarzeń lub tematu platformy Kafka.

Uwaga

Funkcja kompaktowania dzienników nie jest obsługiwana w warstwie Podstawowa .

Jak pokazano na poniższej ilustracji, dziennik zdarzeń (partycji centrum zdarzeń) może mieć wiele zdarzeń o tym samym kluczu. Jeśli używasz centrum zdarzeń z funkcją kompaktowania, usługa Event Hubs zajmuje się czyszczeniem starych zdarzeń i przechowywaniem wyłącznie najnowszych zdarzeń związanych z danym kluczem zdarzenia.

Diagram przedstawiający sposób kompaktowania tematu.

Klucz kompaktowania

Klucz partycji, który ustawiasz dla każdego zdarzenia, jest używany jako klucz kompaktowania.

Nagrobki

Aplikacja kliencka może oznaczać istniejące zdarzenia w centrum zdarzeń do usunięcia podczas procesu kompresji. Te znaczniki są nazywane grobowcami. Aplikacje klienckie ustawiają grobowce, wysyłając nowe zdarzenie przy użyciu istniejącego klucza i ładunku null zdarzenia.

Jak działa kompaktowanie logów

Kompaktowanie dzienników można włączyć na poziomie każdego centrum zdarzeń/tematu platformy Kafka. Zdarzenia można pozyskiwać do zwartej jednostki z dowolnego obsługiwanego protokołu. Usługa Azure Event Hubs uruchamia zadanie kompaktowania dla każdego kompaktowego centrum zdarzeń. Zadanie kompaktowania czyści dziennik partycji w centrum zdarzeń, zachowując tylko najnowsze zdarzenie związane z danym kluczem zdarzenia.

Diagram przedstawiający, jak działa kompaktowanie dzienników.

W dowolnym momencie dziennik zdarzeń kompaktowego centrum zdarzeń może mieć oczyszczoną część i brudną część. Czysta część zawiera zdarzenia, które są kompaktowane przez zadanie kompaktowania, podczas gdy brudna część składa się z zdarzeń, które nie zostały jeszcze zwarte.

Usługa Event Hubs zarządza wykonywaniem zadania kompaktowania i użytkownik nie może go kontrolować. W związku z tym usługa Event Hubs określa, kiedy rozpocząć kompaktowanie i jak szybko skompaktować dane kompaktowane centrum zdarzeń.

Uwaga

Usługa Event Hubs wykonuje kompaktowanie, aby wyeliminować ładunki zdarzeń mające ten sam klucz, ale proces ten jest wyzwalany w sposób nieokreślony, co może skutkować występowaniem wielu ładunków zdarzeń z tym samym kluczem między przebiegami zadania kompaktowania.

Gwarancje kompaktowania

Funkcja kompaktowania dzienników usługi Event Hubs zapewnia następującą gwarancję:

  • Kolejność wiadomości jest zawsze zachowywana na poziomie klucza i partycji. Zadanie kompaktowania nie zmienia kolejności komunikatów, ale po prostu odrzuca stare zdarzenia tego samego klucza.
  • Numer sekwencji i przesunięcie komunikatu nigdy się nie zmienia.
  • Każdy konsument przechodzący od początku dziennika zdarzeń widzi co najmniej końcowy stan wszystkich zdarzeń w kolejności, w jakiej zostały zapisane.
  • Konsumenci nadal mogą zobaczyć zdarzenia oznaczone do usunięcia przez czas określony w Tombstone Retention Time (godziny).

Przypadki użycia kompaktowania dzienników

Kompaktowanie dzienników może być przydatne w scenariuszach, w których przesyłasz strumieniowo ten sam zestaw zdarzeń, które można aktualizować. Ponieważ kompaktowane centra zdarzeń przechowują tylko najnowsze zdarzenia, użytkownicy nie muszą martwić się o wzrost magazynu zdarzeń. W związku z tym kompaktowanie dzienników jest często używane w scenariuszach, takich jak Przechwytywanie zmian danych (CDC), utrzymywanie zdarzeń w tabelach na potrzeby aplikacji przetwarzania strumieniowego i buforowania zdarzeń.

Limity przydziału i ograniczenia

Ograniczenie Podstawowy Standardowy Ekskluzywny Dedykowane
Rozmiar kompaktowanego centrum zdarzeń Nie dotyczy 1 GB na partycję 250 GB na partycję 250 GB na partycję

Aby uzyskać informacje o innych limitach i przydziałach, zobacz Event Hubs quotas and limits.

Następne kroki

Aby uzyskać instrukcje dotyczące używania kompaktowania dzienników w usłudze Event Hubs, zobacz Używanie kompaktowania dzienników