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:
- Zakres jest tworzony przez operację pozyskiwania.
- Zakres jest scalony z innymi zakresami.
- 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.