Definicja pliku kratowego

Podobne dokumenty
Przykładowe B+ drzewo

Tadeusz Pankowski

Podstawy Informatyki. Metody dostępu do danych

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

Bazy danych. Andrzej Łachwa, UJ, /15

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Algorytmy i Struktury Danych

Indeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

sprowadza się od razu kilka stron!

ALGORYTMY I STRUKTURY DANYCH

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Algorytmy i Struktury Danych, 9. ćwiczenia

Haszowanie (adresowanie rozpraszające, mieszające)

ALGORYTMY I STRUKTURY DANYCH

Każdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Algorytmy i struktury danych. wykład 5

Przypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.

Indeksy. Schematyczne ujęcie organizacji pamięci i wymiany danych systemu pamiętania.

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

liniowa - elementy następują jeden za drugim. Graficznie możemy przedstawić to tak:

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

Bazy danych wykład ósmy Indeksy

R-drzewa. Realizowane funkcje: Struktura węzłów R-drzewa

Teoretyczne podstawy informatyki

Sortowanie. Bartman Jacek Algorytmy i struktury

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Sortowanie - wybrane algorytmy

Podstawy Informatyki. Wykład 6. Struktury danych

Porządek symetryczny: right(x)

Struktury danych: stos, kolejka, lista, drzewo

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne:

Drzewa poszukiwań binarnych

Drzewa czerwono-czarne.

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Wykład 8. Drzewa AVL i 2-3-4

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Drzewa poszukiwań binarnych

Algorytmy sortujące i wyszukujące

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

PRZYSPIESZENIE KNN. Ulepszone metody indeksowania przestrzeni danych: R-drzewo, R*-drzewo, SS-drzewo, SR-drzewo.

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

dodatkowe operacje dla kopca binarnego: typu min oraz typu max:

Wysokość drzewa Głębokość węzła

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST)

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Sortowanie bąbelkowe

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

Listy, kolejki, stosy

Zad. 1. Systemy Baz Danych przykładowe zadania egzaminacyjne

Lista liniowa dwukierunkowa

Wyszukiwanie w BST Minimalny i maksymalny klucz. Wyszukiwanie w BST Minimalny klucz. Wyszukiwanie w BST - minimalny klucz Wersja rekurencyjna

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F

ALGORYTMY I STRUKTURY DANYCH

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

. Podstawy Programowania 2. Drzewa bst - część druga. Arkadiusz Chrobot. 12 maja 2019

Programowanie w VB Proste algorytmy sortowania

Teoretyczne podstawy informatyki

Techniki wyszukiwania danych haszowanie

0-0000, , , itd

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

PLAN WYKŁADU BAZY DANYCH HIERARCHIA MECHANIZMÓW SKŁADOWANIA PRZECHOWYWANIA BAZ DANYCH

Algorytmy i struktury danych

Wstęp do programowania

Zestaw 1: Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.adb i.ads)!!! Zad. 1: Zad. 2: 2,2,2 5,5,5,5,5,5 Zad.

Drzewa podstawowe poj

BAZY DANYCH. Microsoft Access. Adrian Horzyk OPTYMALIZACJA BAZY DANYCH I TWORZENIE INDEKSÓW. Akademia Górniczo-Hutnicza

Algorytmy i struktury danych

Strategia "dziel i zwyciężaj"

Złożoność obliczeniowa zadania, zestaw 2

Przykład eksploracji danych o naturze statystycznej Próba 1 wartości zmiennej losowej odległość

Programowanie obiektowe

Fizyczna organizacja danych w bazie danych

ZASADY PROGRAMOWANIA KOMPUTERÓW

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Programowanie obiektowe

Struktury Danych i Złożoność Obliczeniowa

Drzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

EGZAMIN MATURALNY Z INFORMATYKI

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Tablice z haszowaniem

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Transkrypt:

Pliki kratowe

Definicja pliku kratowego Plik kratowy (ang grid file) jest strukturą wspierająca realizację zapytań wielowymiarowych Uporządkowanie rekordów, zawierających dane wielowymiarowe w pliku kratowym, zależy od ich lokalizacji w przestrzeni wymiarów Plik kratowy implementuje odwzorowanie: lokalizacja przestrzenna -> alokacja na dysku Blok dyskowy, w którym zostanie umieszczony dany rekord, jest wyznaczany za pomocą wielowymiarowej tablicy, która przechowuje adresy wszystkich bloków dyskowych pliku Poszczególne elementy tablicy odpowiadają regionom - przestrzennym prostopadłościanom, na które podzielona jest wielowymiarowa przestrzeń dziedzin atrybutów Kolejność bloków w pliku nie odzwierciedla sąsiedniości regionów Regiony są parami rozłączne, a ich suma tworzy całą przestrzeń (dziedzinę) y y max Blok 1 E D F A C G H I J Blok 2 Blok 3 y min x min B x max x Blok 4

Struktura pliku kratowego Struktura pliku kratowego przechowującego dane z przestrzeni k-wymiarowej składa się z trzech elementów: Zbiór k skal skale są jednowymiarowymi tablicami opisującymi sposób podziału przestrzeni na regiony; służą do adresowania tablicy wielowymiarowej; Tablica k-wymiarowa jej elementy reprezentują poszczególne regiony i zawierają wskaźniki na bloki danych W przypadku słabego wypełnienia bloków kilka elementów tablicy może adresować ten sam blok Jeżeli dany region nie zawiera danych, to odpowiadający mu element tablicy jest pusty Bloki danych zawierają rekordy danych, zlokalizowane w tej samej podprzestrzeni Wypełnienie bloków może być mniejsze (dla wielu wymiarów znacznie mniejsze) niż 50% W modelu zapytań przyjmuje się, że tablica wielowymiarowa i skale są przechowywane w pamięci operacyjnej

Struktura pliku kratowego skala y 1 <=10 2 >10 <=50 3 >50 1 2 3 4 5 6 6 6 tablica 2-wymiarowa 1 2 3 <=40 >40 >75 skala x <=75 brak danych mało liczne dane z różnych regionów w tym samym bloku dyskowym 1 rekord_1 <29, 8, > rekord_2 <35, 2, > rekord_3 <0, 9, > 2 rekord_4 <42, 7, > rekord_5 <70, 1, > rekord_6 <51, 5, > 6 rekord_16 <25, 55, > rekord_17 <38, 80, > rekord_18 <49, 69, > rekord_19 <100, 53, >

Wyszukiwanie danych za pomocą plików kratowych Algorytm wyszukiwania danych dla modelu zapytań punktowych: Znajdź(x,y) 1 Wyszukaj na skali X przedział zawierający x Zwróć indeks i przedziału 2 Wyszukaj na skali Y przedział zawierający y Zwróć indeks j przedziału 3 Pobierz z wielowymiarowej tablicy adres bloku p pamiętany w elemencie o adresie (i,j) 4 Odczytaj blok danych o adresie p Blok zawiera szukany rekord lub danego rekordu nie ma w bazie danych Algorytm wyszukiwania danych dla modelu zapytań o częściowym dopasowaniu: Znajdź(x) 1 Wyszukaj na skali X przedział zawierający x Zwróć indeks i przedziału 2 Pobierz z wielowymiarowej tablicy adresy bloku p pamiętanych w elementach o adresach (i,?) 3 Odczytaj bloki danych o adresie p Bloki zawierają szukane rekordy lub danych rekordów nie ma w bazie danych

Wyszukiwanie danych za pomocą plików kratowych Algorytm wyszukiwania najbliższego sąsiada: ZnajdźNajbliższegoSąsiada(x,y) 1 Znajdź blok p zawierający punkt o współrzędnych (x,y) 2 Szukaj najbliższego sąsiada w bloku p Jeżeli odległość od znalezionego sąsiada jest mniejsza niż odległości danego punktu od granic podprzestrzeni oznacza to koniec wyszukiwania 3 Jeżeli odległość od znalezionego sąsiada jest większa niż odległość danego punktu od granic przestrzeni, to odczytaj sąsiednie bloki przy tych granicach i szukaj w nich punktów bliżej położonych Dla wszystkich modeli zapytań stosowanie pliku kratowego w większości przypadków zmniejsza, a w najgorszych przypadkach, nie pogarsza kosztów wyszukiwania

Utrzymywanie plików kratowych Wstawianie nowych rekordów Jeżeli blok do którego powinien trafić nowy rekord jest pełny należy dokonać podziału odpowiadającej mu podprzestrzeni W pliku kratowym podział danej podprzestrzeni będzie propagowany do wszystkich podprzestrzeni leżących na linii cięcia Wybór osi podziału może być sekwencyjny - podział według osi: x, y, z, x, y, z, itd, lub priorytetowy - podział według osi: x, x, x, y, y, z, x, x, x, itd Powyższe algorytmy podziału bloku nie gwarantują równomiernego wypełnienia Równomierny podział przepełnionego bloku optymalny w momencie przepełnienia, nie gwarantuje równomiernego podziału innych dzielonych przy okazji regionów Dzielenie nieprzepełnionych obszarów nie wiąże się z tworzeniem nowych bloków y y x x

Problemy z utrzymaniem plików kratowych Wraz z podziałem bloków rośnie, ekspotencjalnie od liczby wymiarów, liczba elementów tablicy wielowymiarowej Dla tabeli wielowymiarowej o rozmiarze: m x n x p, podział wzdłuż osi p oznacza utworzenie m x n nowych regionów Dla wielu wymiarów większość regionów tablicy wielowymiarowej jest pusta Brak skalowalności dla bardzo dużych zbiorów danych Rozmiar tablicy wielowymiarowej i skal może przekroczyć rozmiar dostępnej pamięci operacyjnej

Wielowymiarowe drzewa binarne

kd-drzewa k-d-drzewo wielowymiarowe drzewo binarne Każdy węzeł drzewa reprezentuje wartość jednego z atrybutów reprezentujących wymiary przeszukiwanej przestrzeni Kolejność występowania atrybutów w kolejnych poziomach drzewa może być przypadkowa Wynika stąd potrzeba pamiętania w węzłach oprócz wartości również typów atrybutów W procesie szukania jeżeli wartość odpowiedniego atrybutu szukanego klucza jest mniejsza od wartości danego węzła proces będzie kontynuowany dla potomka wskazywanego przez lewą krawędź węzła, w przeciwnym przypadku dla potomka wskazywanego przez prawą krawędź X;1000 Y;150 Y;50 X;750 Dane mogą być pamiętane w węzłach drzewa lub w wyróżnionych liściach drzewa

Zastosowanie kd-drzew do podziału przestrzeni na regiony atrybut B C D b 2 b 1 B A E a 1 a 0 a 2 atrybut A a 2 b 2 b 1 a 1 A B C D E

Szukanie danych za pomocą kd-drzew Operacja wyszukiwania punktowego dla w pełni zrównoważonego drzewa wymaga maksymalnie przejrzenia log 2 r węzłów, gdzie r jest liczbą wszystkich danych Zapytania o częściowym dopasowaniu Znajdź wszystkie dane, dla których wartość atrybutu A jest równa a 0, gdzie a 1 < a 0 < a 2 a 2 b 2 b 1 a 1 A B C D E Wyszukiwanie wymaga w tym wypadku równoległego nawigowania kilku ścieżek

Zalety: Własności kd-drzew rząd drzewa jest niezależny od liczby wymiarów k bardzo efektywne algorytmy utrzymania drzewa nie nakładanie się regionów Wady: pokrycie pustych regionów struktura zależna od kolejności wykonywania operacji metoda dedykowana jedynie dla danych w pamięci operacyjnych

Indeksy wielowymiarowe

Indeksy wielowymiarowe Węzeł indeksu jednowymiarowego podział jednowymiarowej dziedziny na przedziały A B C D E F G H I a 1 a 2 a 3 atrybut A Węzeł indeksu wielowymiarowego podział wielowymiarowej dziedziny na regiony atrybut B b 1 A B D C E F G H I J K a 1 a 2 atrybut A

Idea kdb drzewo Rozszerzenie stosowalności na przeszukiwanie plików dyskowych: połączenie struktur k-d-drzew i B-drzew Założenia 1 Format rekordów indeksu: klucz 0, klucz 1, klucz K-1, lokalizacja gdzie: klucz i dziedzina i, K - jest stałą określającą liczbę wymiarów, lokalizacja - jest adresem rekordu danych o podanych wartościach kluczy 2 Wsparcie dla zapytań typu: min i klucz i max i, 0 i K 1 3 Dynamiczne utrzymywanie struktury: wsparcie dla operacje wstawiania i usuwania rekordów przeplatanych z operacjami zapytań 4 Bardzo duża liczba rekordów wykluczająca utrzymanie struktury w pamięci operacyjnej Dla K = 1 rozwiązaniem spełniającym powyższe wymagania są B + -drzewa Trzy pierwsze wymagania dla dowolnego K spełniają k-d-drzewa

Struktura kdb drzewa Punkt (x 0, x 1,, x K-1 ) jest elementem iloczynu kartezjańskiego: dziedzina 0 x dziedzina 1 x x dziedzina K-1 Region (I 0, I 1,, I K-1 ), gdzie I i = [min i, max i ), jest zbiorem wszystkich punktów (x 0, x 1, x 2,, x K-1 ) takich, że: min i x i < max i, 0 i K 1, oraz min i, max i dziedzina i k-d-b-drzewo jest kolekcją dwóch rodzajów węzłów składowanych na odrębnych stronach dyskowych: 1 węzłów wewnętrznych (ang region pages), które są zbiorami par (region, wskaźnik), gdzie wskaźniki są adresami stron dyskowych zawierających węzły niższego poziomu; 2 liści (ang point pages), które są kolekcjami par (punkt, wskaźnik), gdzie wskaźniki są adresami rekordów danych o określonych wartościach atrybutów Przykład 2dB drzewa

Struktura kdb drzewa 1 k-d-b-drzewa są zrównoważone; droga od korzenia do wszystkich liści jest taka sama 2 Regiony znajdujące się wewnątrz każdego węzła wewnętrznego są rozłączne, a ich suma tworzy region 3 Jeżeli korzeń drzewa nie jest liściem, to suma wszystkich jego regionów tworzy region: dziedzina 0 x dziedzina 1 x x dziedzina K-1 4 Jeżeli dla danego elementu węzła wewnętrznego (region i, wskaźnik i ), wskaźnik adresuje potomny węzeł wewnętrzny, wtedy suma regionów węzła potomnego tworzy region i 5 Jeżeli dla danego elementu węzła wewnętrznego (region i, wskaźnik i ), wskaźnik adresuje liść drzewa, wtedy wszystkie punkty należące do tego liścia zawierają się w region i 6 Nie jest gwarantowany stopień wypełnienia węzłów indeksu ponad 50%

Realizacja zapytań Algorytm realizacji zapytania wyszukuje rekordy spełniające warunki zapytania określone przez region zapytania: I 0 x I 1 x x I K-1 Jeżeli dla wszystkich przedziałów I i : min i =max i, gdzie 0 i K 1 zapytanie jest nazywane zapytaniem punktowym Algorytm realizujący zapytanie jest następujący: (1) Odczytaj stronę dyskową zawierającą korzeń drzewa i podstaw ją pod zmienną strona (2) Jeżeli strona zawiera liść, to dla każdej pary (punkt i, wskaźnik i ) na tej stronie, dla której punkt i należy do regionu zapytania, odczytaj i zwróć jako wynik rekord adresowany przez wskaźnik i (3) Jeżeli strona zawiera węzeł wewnętrzny, to dla każdej pary (region i, wskaźnik i ) tego węzła takiej, że iloczyn region i i region zapytania jest niepusty, podstaw pod zmienną strona stronę dyskową wskazywaną przez wskaźnik i i rekurencyjnie wywołaj punkt (2) Region zapytania Ścieżki szukania

Definicja 1 Modyfikacje kdb drzew Wynikiem podziału regionu I 0 x I 1 x x I K-1 względem elementu x i dziedziny są dwa nowe regiony: (1) lewy: I 0 x x [min i, x i ) x x I K-1, (2) prawy: I 0 x x [x i, max i ) x x I K-1 Definicja 2 Dla danego wymiaru zachodzą następujące relacje między punktami i między regionami a punktami: Region leży na lewo od x i, jeżeli x i < min i regionu Region leży na prawo od x i, jeżeli x i max i regionu Punkt (y 0, y 1, y 2,, y K-1 ) leży na lewo od x i, jeżeli y i < x i Punkt (y 0, y 1, y 2,, y K-1 ) leży na prawo od x i, jeżeli y i x i Definicja 3 Wynikiem podziału liścia względem elementu x i są dwa nowe liście: lewy liść i prawy liść Wszystkie pary (punkt, wskaźnik) liścia, dla których punkt leży na lewo od x i zostaną przeniesione do lewego liścia Natomiast w prawym liściu zostaną umieszczone wszystkie pary, dla których punkt leży na prawo od x i Na końcu operacji podziału stary liść jest usuwany

Definicja 4 Modyfikacje kdb drzew Wynikiem podziału węzła wewnętrznego względem elementu x i są dwa nowe węzły: lewy i prawy Nowe węzły są następnie wypełniane regionami wywiedzionymi z regionów dzielonego węzła wewnętrznego, który na końcu operacji jest usuwany Procedura wypełniania nowych węzłów wewnętrznych regionami jest następująca Dla każdej pary (region, wskaźnik) w dzielonym węźle wewnętrznym: S1 Jeżeli region leży na lewo od x i, wstaw parę (region, wskaźnik) do lewego węzła wewnętrznego S2 Jeżeli region leży na prawo od x i, wstaw parę (region, wskaźnik) do prawego węzła wewnętrznego S3 W pozostałych przypadkach: S31 Podziel rekurencyjnie stronę adresowaną przez wskaźnik według x i, w wyniku czego powstaną dwie nowe strony adresowane przez lewy wskaźnik i prawy wskaźnik S32 Podziel region według x i, w wyniku czego powstaną lewy region i prawy region S33 Dodaj parę (lewy region, lewy wskaźnik) do lewej strony, a parę (prawy region, prawy wskaźnik) do prawej strony

Modyfikacje kdb drzew Ilustracja operacji podziału strony: podział strony podział regionów składowych podział strony potomnej

Modyfikacje kdb drzew Procedura wstawiania rekordu indeksu (punkt, wskaźnik) jest następująca: I1 Wykonaj operację zapytania punktowego dla punktu: punkt, w wyniku której zostanie odnaleziony liść Podstaw adres znalezionego liścia do zmiennej strona I2 Wstaw parę (punkt, wskaźnik) do znalezionego liścia Jeżeli w liściu nie wystąpi przepełnienie, zakończ procedurę wstawiania I3 Jeżeli wystąpiło przepełnienie, wybierz dziedzinę i i element tej dziedziny x i, takie żeby żadna z dwóch nowych stron, które powstaną w wyniku podziału strony względem x i nie była przepełniona Podziel stronę względem x i, w wyniku czego powstaną dwie nowe strony: lewa strona i prawa strona, adresowane przez lewy wskaźnik i prawy wskaźnik I4 Jeżeli strona była korzeniem przejdź do kroku (I5) Jeżeli nie, pod zmienną strona podstaw adres przodka strony (została ona odnaleziona podczas wykonywania kroku (I1) Zamiast pary (region, strona) wstaw na stronie dwie pary (lewy region, lewy wskaźnik) oraz (prawy region, prawy wskaźnik), gdzie lewy region i prawy region powstały w wyniku podziału regionu region względem x i Jeżeli w wyniku tego wstawienia wystąpi przepełnienie wróć do kroku (I3) W przeciwnym przypadku zakończ działanie algorytmu I5 Utwórz nowy korzeń zawierający pary: ((dziedzina 0 x x [, x i ) x x I K-1 ), lewy wskaźnik) i ((dziedzina 0 x x [x i, ) x x I K-1 ), prawy wskaźnik)

Strategie wyboru dziedziny podziału regionów Metoda cykliczna W każdym węźle jest składowana dodatkowa zmienna: dziedzina podziału W korzeniu drzewa wartość tej zmiennej jest inicjowana na 0 Podczas podziału węzłów zmienna ta jest wykorzystywana do inicjacji zmiennych nowych stron na wartość: (dziedzina podziału + 1) mod K Metoda cykliczna z priorytetami Niektóre dziedziny ze względu na przykład na rozkład zapytań mogą być faworyzowane przez propagowanie na kilku kolejnych poziomach

Usuwanie rekordów Dwie techniki przeciwdziałające zbyt niskiemu wypełnieniu stron dyskowych zawierających węzły wewnętrznych lub liście drzewa: łączenie stron w wyniku łączenia regionów, redystrybucja elementów stron (zmiana granic między regionami) Nie wszystkie strony mogą być poddane temu procesowi A Dla regionu A nie ma dziedziny i, dla której istniałby na tej samej stronie inny region R taki, że: mina i = minr i i maxa i = maxr i

Algorytm reorganizacji słabo wypełnionej strony R1 P jest słabo wypełnioną stroną poddaną procesowi reorganizacji, a strona jest stroną rodzicielską P zawierającą element (region, wskaźnik na P) R2 Znajdź elementy (region 1, wskaźnik 1 ), (region 2, wskaźnik 2 ),, na stronie takie, że regiony region, region 1, region 2, tworzą razem region W najgorszym przypadku taki region tworzą wszystkie regiony strony R3 Połącz strony adresowane przez wskaźnik na P, wskaźnik 1, wskaźnik 2,, a następnie dziel je tak długo, aż utworzone w kolejnym kroku strony nie są przepełnione R4 Zamień elementy (region, wskaźnik), (region 1, wskaźnik 1 ), (region 2, wskaźnik 2 ),, na elementy opisujące strony powstałe w kroku (R3)

Zalety: Własności kdb-drzew wsparcie dla przeszukiwania danych w pamięciach masowych, nie nakładanie się regionów Wady: pokrycie pustych regionów, stopień wypełnienia stron indeksu, operacje podziału mogą być propagowane w dół drzewa