Kompaktowanie dzienników w 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 centrum zdarzeń/platformy Kafka jest tworzony z zachowaniem opartym na czasie lub zasadami oczyszczania usuwania , w których zdarzenia są czyszczone po wygaśnięciu czasu przechowywania. Zamiast tego używać coarser-grained time based retention, można użyć mechanizmu przechowywania opartego na kluczach zdarzeń, w którym usługa Event Hubs ponownie szkoli 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 zawierać wiele zdarzeń o tym samym kluczu. Jeśli używasz kompaktowego centrum zdarzeń, usługa Event Hubs zajmuje się przeczyszczanie starych zdarzeń i przechowywanie tylko najnowszych zdarzeń danego klucza zdarzenia.

Diagram przedstawiający sposób kompaktowania tematu.

Klucz kompaktowania

Klucz partycji ustawiony przy użyciu każdego zdarzenia jest używany jako klucz kompaktowania.

Nagrobków

Aplikacja kliencka może oznaczać istniejące zdarzenia centrum zdarzeń do usunięcia podczas zadania kompaktowania. Te znaczniki są znane jako Tombstones. Aplikacje klienckie ustawiają nagrobki, wysyłając nowe zdarzenie z istniejącym kluczem i ładunkiem null zdarzenia.

Jak działa kompaktowanie dzienników

Kompaktowanie dzienników można włączyć na każdym poziomie tematu centrum zdarzeń/platformy Kafka. Zdarzenia można pozyskiwać do zagęszczanego artykułu z dowolnego protokołu pomocy technicznej. Azure Event Hubs usługa uruchamia zadanie kompaktowania dla każdego kompaktowanego centrum zdarzeń. Zadanie kompaktowania czyści każdy dziennik partycji centrum zdarzeń, zachowując tylko najnowsze zdarzenie danego klucza zdarzenia.

Diagram przedstawiający sposób działania kompaktowania dzienników.

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

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ąć kompaktację i jak szybko kompaktuje dany kompaktowy koncentrator zdarzeń.

Gwarancje kompaktowania

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

  • Kolejność komunikatów 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 użytkownik, który postępuje od początku dziennika zdarzeń, widzi co najmniej ostateczny stan wszystkich zdarzeń w kolejności, w jakiej zostały zapisane.
  • Konsumenci nadal mogą widzieć zdarzenia oznaczone jako usunięte dla czasu zdefiniowanego przez czas przechowywania nagrobka (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ń aktualizowalnych. Jako zwarte centra zdarzeń zachowują 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 Change Data Capture(CDC), utrzymywanie zdarzeń w tabelach na potrzeby przetwarzania strumieniowego aplikacji i buforowania zdarzeń.

Limity przydziału i ograniczenia

Limit Podstawowa Standardowa (Standard) Premium Dedykowane
Rozmiar kompaktowanego centrum zdarzeń Nie dotyczy 1 GB na partycję 250 GB na partycję 250 GB na partycję

Aby uzyskać inne limity przydziału i limity, zobacz Limity i limity usługi Event Hubs.

Następne kroki

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