Udostępnij za pośrednictwem


Implementacja kompresji strony

Ten temat zawiera podsumowanie Aparat baz danych implementuje strona kompresji.Podsumowanie to zawiera podstawowe informacje, aby ułatwić planowanie miejsca potrzebnego dla danych.

Ostrzeżenie

Szczegóły kompresji danych mogą ulec zmianie bez powiadomienia w dodatkach usługa Pack lub późniejszymi wersjami.

Strona kompresji jest podobny dla tabel, tabela partycji, indeksów i partycji indeksu.Następujący opis strona kompresji dla tabela stosuje się jednakowo do strona kompresji dla wszystkich typów obiektów.Następujące przykłady Kompresuj ciągi znaków, ale prefiks i słownika kompresji te same zasady stosuje się do innych typów danych.

Kompresja poziom liścia poziom tabel i indeksów z kompresją strona składa się z trzech operacji w następującej kolejności:

  1. Kompresja wiersza

  2. Prefiks kompresji

  3. Słownika kompresji.

Gdy używasz kompresji strona strona poziom non–liść indeksów są kompresowane przy użyciu tylko wiersz kompresji.Aby uzyskać więcej informacji dotyczących wiersza kompresji, zobacz Implementacja kompresji wiersza.

Prefiks kompresji

Dla każdej strona zostały skompresowane prefiks kompresji używane są następujące czynności:

  1. Dla każdej kolumna wartości jest zidentyfikowany, można zmniejszyć ilość miejsca do magazynowania dla wartości w każdej kolumnie.

  2. Wiersz, który reprezentuje wartości prefiks dla każdej kolumna jest utworzone i przechowywane w strukturze informacji (CI) kompresji, bezpośrednio poniżej nagłówka strona.

  3. Prefiks powtarzających się wartości kolumna zostały zastąpione przez odniesienie do odpowiednich prefiks.Jeśli wartość w wierszu pasuje dokładnie wartość zaznaczony prefiks, nadal mogą być wskazywane częściowe dopasowanie.

Na następującej ilustracji pokazano strona tabela przed kompresją prefiks.

Strona przed skompresowaniem prefiksów

Na następującej ilustracji pokazano takie same strona po kompresji prefiks.Prefiks jest przenoszony do nagłówka i wartości kolumna są zmieniane na odwołania do prefiksu.

Strona po skompresowaniu prefiksów

W pierwszym kolumna pierwszego wiersza 4b wartość wskazuje, że pierwsze cztery znaki prefiksu (aaab) są obecne dla tego wiersza i b znak.Dzięki aaabb wynikowy wartość, która jest oryginalna wartość.

Słownika kompresji.

Po wykonaniu kompresji prefiks jest stosowana słownika kompresji.Słownik kompresji wyszukuje powtarzające się wartości w dowolnym miejscu strona i przechowuje je w obszarze PW.W przeciwieństwie do kompresji prefiks słownika kompresji nie jest ograniczone do jednej kolumna.Słownik kompresji można zastąpić powtarzających się wartości, które występują w dowolnym miejscu strona.Na następującej ilustracji pokazano takie same strona po słownika kompresji.

Strona po skompresowaniu słownika

Należy zauważyć, że wartość 4b odwołano się z różnych kolumn strona.

Gdy wystąpi kompresji strony

Po utworzeniu nowej tabela zawierającej strona kompresji, występuje brak kompresji.Jednak metadane dla tabela wskazuje, że kompresji strona powinny być używane.Jak dane są dodawane do pierwszej strona danych, dane są kompresowane wiersz.Ponieważ strona nie jest pełny, żadne korzyści jest zdobyte kompresji strony.Gdy strona jest zapełniona, następny wiersz ma zostać dodany inicjuje operację kompresji strony.Cała strona jest rewizji; Każda kolumna jest oceniany kompresji prefiksu, a następnie wszystkie kolumny są oceniane słownika kompresji.Jeśli strona kompresji utworzył za mało miejsca na stronie dodatkowy wiersz, dodaje się wiersz i dane są zarówno wiersza i strony skompresowane.Miejsce zyskane dzięki kompresji strona minus przestrzeń wymaganego dla struktury CI nie jest istotna, strona kompresji nie jest używany dla tej strona.Przyszłość wiersze albo dopasowanie na nową stronę, lub jeżeli nie pasują, Nowa strona zostanie dodana do tabela.Podobne do pierwszej strony, Nowa strona nie jest najpierw skompresowane strony.

Podczas konwersji istniejącej tabela, która zawiera dane do kompresji strona każdej strona jest odbudowywany i ocenione.Odbudowywanie wszystkich stron powoduje odbudowanie indeksu, tabela lub partycji.