Udostępnij za pośrednictwem


Fragmenty danych

Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer

Tabele są partycjonowane w zakresy lub fragmenty danych. Każdy zakres jest segmentem poziomym tabeli, który zawiera dane i metadane, takie jak czas tworzenia i opcjonalne tagi. Związek wszystkich tych zakresów zawiera cały zestaw danych tabeli. Zakresy są równomiernie rozproszone między węzłami w klastrze i są buforowane zarówno na lokalnym dysku SSD, jak i w pamięci w celu zoptymalizowanej wydajności.

Zakresy są niezmienne, co oznacza, że mogą być odpytywane, ponownie przypisywane do innego węzła lub porzucane z tabeli, ale nigdy nie zostały zmodyfikowane. Modyfikacja danych odbywa się przez utworzenie nowych zakresów i transakcyjne zamiany starych zakresów na nowe. Niezmienność zakresów zapewnia korzyści, takie jak zwiększona niezawodność i łatwa konwersja do poprzednich migawek.

Zakresy przechowują kolekcję rekordów, które są fizycznie rozmieszczone w kolumnach, umożliwiając wydajne kodowanie i kompresję danych. Aby zachować wydajność zapytań, mniejsze zakresy są scalane w większe zakresy zgodnie ze skonfigurowanymi zasadami scalania i zasadami fragmentowania. Scalanie zakresów zmniejsza nakłady pracy związane z zarządzaniem i prowadzi do optymalizacji indeksu i ulepszonej kompresji.

Typowy cykl życia zakresu jest następujący:

  1. Zakres jest tworzony przez operację pozyskiwania.
  2. Zakres jest scalony z innymi zakresami.
  3. Scalony zakres (prawdopodobnie taki, który śledzi jego pochodzenie w innych zakresach) zostanie ostatecznie usunięty z powodu zasad przechowywania.

Czas tworzenia zakresu

Dwie wartości daty/godziny są śledzone według zakresu: MinCreatedOn i MaxCreatedOn. Te wartości są początkowo takie same, ale mogą ulec zmianie, gdy zakres jest scalony z innymi zakresami. Gdy zakres jest scalony z innymi zakresami, nowe wartości są zgodne z oryginalnymi wartościami minimalnymi i maksymalnymi scalonych zakresów.

Czas tworzenia zakresu jest używany do następujących celów:

  • Przechowywanie: utworzone wcześniej zakresy są porzucane wcześniej.
  • Buforowanie: ostatnio utworzone zakresy są przechowywane w gorącej pamięci podręcznej.
  • Próbkowanie: ostatnie zakresy są preferowane podczas korzystania z operacji zapytań, takich jak take.

Aby zastąpić czas tworzenia zakresu, podaj alternatywę creationTime we właściwościach pozyskiwania danych. Może to być przydatne w celach przechowywania, na przykład jeśli chcesz pozyskać dane ponownie, ale nie chcesz, aby wyglądały tak, jakby dotarły późno.

Uwaga

Obliczanie usuwania zakresu na podstawie czasu używa czasu utworzenia najnowszego zakresu w scalanym zakresie.