pobierz plik referatu

Transkrypt

pobierz plik referatu
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Rozdział 28
w
Przestrzenno-temporalna hurtownia danych
z indeksami: R-MVB, STCAT oraz BITMAP
w
1 Wstęp
da
.b
w
Streszczenie. W rozdziale przedstawiono nowe metody indeksowania
przestrzenno-temporalnej hurtowni danych (STDW). System STDW bazuje
na systemie przestrzennej hurtowni danych (SDW) z modelem gwiazdy kaskadowej indeksowanej aR-drzewem obsługującym dane telemetryczne
(SDW(t)). Umotywowano również budowę systemu STDW w kontekście
rozwoju systemów SDW(t) dla obsługi rynku odbiorców multimedialnych
w zakresie energii elektrycznej, gazu, ciepła i wody. Ponadto zaprezentowano wyniki badań systemów STDW z nowymi indeksami: R-MVB, STCAT,
BITMAP.
pl
s.
Tradycyjne wyszukiwanie w przestrzennych bazach danych realizowane jest poprzez zapytania zakresowe (ang. Range Query), które selekcjonują obiekty danych leżące wewnątrz
okna zapytania lub mające przecięcie z wielowymiarowym hipersześcianem [1]. W przestrzennych hurtowniach danych (ang. Spatial Data Warehouse - SDW) użytkownik jest
zainteresowany zwykle danymi zbiorczymi na temat tych obiektów, a nie ich indywidualnymi cechami [2].
Przykładem systemu SDW jest system przestrzennej hurtowni danych telemetrycznych
SDW(t) (ang. Spatial Telemetric Data Warehouse) [3]. Regulacja sektora energetycznego
w Unii Europejskiej stworzyła nowy rynek - odbiorcy multimedialnego w zakresie: energii
elektrycznej, gazu, ciepła i wody. Polskę od 2007 roku będą obowiązywały prawne uregulowania możliwości swobodnego wyboru dostawcy mediów. Podstawowym problemem
staje się wobec tego automatyczny odczyt setek tysięcy liczników odbiorców oraz krytycznie szybka analiza terabajtowych wolumenów danych licznikowych. W przypadku dostawców energii elektrycznej odczyt, prognoza zapotrzebowania i podjęcie decyzji podlega reżimowi zamknięcia bilansu energetycznego (np. w okresie 30 minutowym). Warunkiem
osiągnięcia tego celu jest wykorzystanie technologii automatycznego odczytu liczników
(ang. Automatic Meter Reading - AMR) [4] z jednej strony, a z drugiej systemów decyzyjnych opartych o hurtownie danych.
Rozwiązaniem jest dwuwarstwowa infrastruktura telemetryczna, którą tworzy:
Marcin Gorawski, Michał Gorawski: Politechnika Śląska, Instytut Informatyki,
ul. Akademicka 16, 44-100 Gliwice, Polska
email:{Marcin.Gorawski, Michał.Gorawski}@polsl.pl
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
M. Gorawski, M. Gorawski
w
− telemetryczny system zintegrowanego odczytu liczników (AMR),
− system przestrzennej hurtowni danych telemetrycznych (SDW(t)) (wersja rozproszona ( ang. Distributed Spatial Data Warehouse - DSDW(t))).
Na rys. 1 przedstawiono istniejący już system zintegrowanego odczytu liczników, oraz będący w fazie testów i modyfikacji system telemetrycznej przestrzennej hurtowni danych
DSDW(t). System AMR służy do przesyłania danych strukturę sieci operatorów telefonii
komórkowej GSM w technologii GPRS z liczników zużycia mediów zlokalizowanych na
dużym obszarze geograficznym do systemu bazodanowego. AMR jest systemem transakcyjnym obsługującym cztery rodzaje liczników wody, energii, gazu i ciepła, i źródłem danych dla systemu DSDW(t). Technologia GSM/GPRS w zastosowaniach telemetrycznych
wypiera dotychczasowe rozwiązania radiomodemowe. Podstawowe zalety bezprzewodowych systemów GSM/GPRS dla potrzeb zdalnego rozliczanie zużycia mediów to niskie
koszty i krótki czas wdrożenia, dowolna odległość pomiędzy licznikami, niewrażliwość na
ukształtowanie terenu, brak rozbudowanych systemów antenowych i natychmiastowa
personalizacja zawiadomień o sytuacjach awaryjnych.
W serwerze telemetrycznym dane przechowywane w stanie źródłowym wymagają odpowiedniego sformatowania. System DSDW(t) pobiera dane z serwerów telemetrycznych
poprzez sieć z protokołem TCP/IP, w trakcie procesu ekstrakcji danych. W rozproszonym
systemie DSDW(t) w procesie ekstrakcji dokonuje się dodatkowo partycjonowanie i ładowanie danych do jego węzłów.
d
.b
w
w
Local radio
commun ication
GSM Network
TCP/IP
DSDW(t)
Proces ETL_partycjonowanie danych
GSM
A IUT GSM
Te leme tric Se rv er
D ata lo ading
DSTDW Servers
Clien t – server
RMI communication
Zapytania
SQL
DSTDW C li ent
as
10
Telemetryczny system zintegrowanego
odczytu liczników (AMR)
1
15
34
14
22 30
l
.p
Rys. 1. Dwuwarstwowa architektura systemu AMR / DSDW(t)
21
12
33
31
Dotychczasowe prace nad systemami SDW, ich rozproszoną wersją (DSDW) oraz przestrzenno-temporalną wersją (STDW) koncentrowały się na architekturze indeksowanej aRdrzewem [5], [6], [7]. W pracy przestawiono trzy autorskie indeksy: R-MVB, STCAT,
BITMAP (podrozdz. 2) oraz analizę wydajnościową systemu STDW(t) z tymi indeksami
(podrozdz. 3).
2 Nowe metody indeksowania przestrzenno-czasowe SDW
Dane przestrzenne cechuje wielowymiarowość określana jako liczba składowych unikalnego klucza. Dane te związane z obiektami o różnych współrzędnych nie zachowują
porządku liniowego oraz charakteryzują dominującą niejednorodność rozkładu obiektów.
280
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Przestrzenno - temporalna hurtownia danych z indeksami: R-MVB, STCAT oraz BITMAP
w
w
Efektywny dostęp do dużej liczby danych przestrzennych zapewnia ich indeksowanie.
Wielowymiarowość danych przestrzennych uniemożliwia użycie metod indeksowania
danych jednowymiarowych np. rodzinę B-drzew. W przypadku wykorzystania indeksów
jednowymiarowych w zastosowaniach przestrzenno-czasowych trudno jest ułożyć dobry
plan wykonania zapytania, kiedy nałożeniu na kolejne kolumny podlega kilka indeksów
(selektywność po każdej z kolumn nie zależy jedynie od zakresu zapytania, lecz od samych
danych).
Indeks przestrzenny jest strukturą grupującą dane przestrzenne w taki sposób, aby przyspieszyć wykonywanie zapytań przestrzennych. Biorąc pod uwagę charakterystykę danych
telemetrycznych postanowiono rozszerzyć zagadnienie indeksowania przestrzennego o wymiar czasowy, co pozwoliło na skutecznie wspieranie nie tylko zapytań przestrzennych, ale
również przestrzenno-czasowych. Przestrzenne hurtownie danych uwzględniające w jawny
sposób wymiar czasowy w modelu danych, metodzie indeksowania nazywamy Przestrzenno-Temporalną Hurtownią Danych (ang. Spatia- Temporal Data Warehouse STDW) a z
uszczegółowieniem do danych telemetrycznych oznaczamy jako STDW(t).
Poniżej przedstawione zostały autorskie indeksy przestrzenno-czasowe zaimplementowane w systemie STDW(t) tj. R-MVB, STCAT, BITMAP.
w
2.1 R-MVB-drzewo
RO O T 1
da
.b
Wyróżnia się dwa ogólne szkielety (ang. framework) indeksów czasowych: nachodzące na
siebie (ang. overlapping) oraz wielowersyjne (ang. multiversion). Szkielety te pozwalają
przekształcać struktury krótkotrwałe (np. indeksy tj. B- czy R-drzewa, które same nie
wspierają danych dotyczących jednego obiektu w wielu chwilach czasu w złożone struktury
logiczne [8]. MVB-drzewo użytkuje szkielet wielowersyjny dla optymalnego przetwarzania
zapytania zakresowego ze znacznikiem czasu (ang. timestamp range query) w pamięci
zewnętrznej. MVB-drzewo jest wielowersyjną modyfikacją B-drzewa, przystosowane do
przechowywania danych czasowych o przykładowej strukturze jak na rys. 2.
ROOT 2
[ - * , 6)
[ 3 ,6)
[ 1 ,3)
[ 2 ,*)
[ 4 ,5)
2
3
7
9
RO O T 4
[ 9,1 1 )
[1 1 , *)
s.
2
2
3
5
RO O T 3
[ 6 ,9 )
[6 ,* )
[2 ,* )
[7 ,* )
[8 ,* )
2
3
9
9
2 /3 [2 ,1 1) A
9 /1 1 [7 ,1 1) B
2 /9 [1 1 ,*) C
Rys. 2. Przykładowa struktura MVB-drzewa
B
7 [ 7 ,10 )
9 [ 8 ,*)
1 1 [ 9 ,11 )
pl
A
2 [6 ,* )
3 [2 ,* )
[ 6 ,*)
[ 2 ,*)
[ 8 ,12 )
[ 1 2 ,* )
C
2 [ 6,* )
3 [ 2,* )
9 [ 8,* )
W pracy [9] wykazano, że MVB-drzewo wymaga O(N/B) przestrzeni pamięciowej,
gdzie N jest liczbą odcinków czasowych a B jest pojemnością węzła, i odpowiadają one na
zapytania ze znacznikiem czasowym w O(logBM + K/B) dostępach do węzłów, gdzie M
jest liczbą odcinków, które pozostają żywe w zadanym w zapytaniu odcinku czasu, a K jest
liczbą odcinków, które pojawiają się na wyjściu. Zarówno zużycie pamięci jak i wydajność
zapytania są asymptotycznie optymalne. MVB-drzewo zapewnia powstawanie naturalnej
281
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
M. Gorawski, M. Gorawski
historii poszczególnych wpisów, oraz bardzo dobry czas odpowiedzi na zapytania, praktycznie niezależny od liczby danych zawartych w indeksie.
Efektywne dopasowanie struktury MVB-drzewa do schematów danych telemetrycznych
i silne wsparcie realizacji zapytań przestrzenno-agregacyjnych wymagało jego rozszerzenia
o dwie istotne modyfikacje tj. o wsteczne wskaźniki oraz agregaty czasowe [10]. Konsekwencją modyfikacji jest powiększenie rozmiaru samego drzewa oraz wzrost wydajności
indeksu.
w
w
ROOT 2
[-*, 6)
ROOT 3
[9,*)
[6,9)
Pomiary
2 [3,6)
2 [1,3)
3 [2,*)
5 [4,5)
2 [6,*)
3 [2,*)
7 [7,*)
9 [8,*)
2/3 [2,*) A
9/11 [7,*) B
B
7 [7,*)
9 [8,*)
11 [9,*)
Licznik 1 wsteczne wskaźniki
Licznik 2
Licznik 2 wsteczne wskaźniki
T0
T1
.p
A
2 [6,*)
3 [2,*)
Licznik 1
as
ROOT 1
d
.b
w
2.1.1 Modyfikacje MVB-drzewa – wsteczne wskaźniki
Struktura MVB-drzewa jest przystosowana do przetwarzania zapytań ze znacznikiem
czasu. Idea przechowywania wstecznych wskaźników dla każdego wpisu, które kierują na
poprzednią wersje danego obiektu wspomaga przetwarzanie zapytań z zakresem czasu.
Wskaźniki te tworzą listę jednokierunkową dla każdego z obiektów. W momencie wstawiania obiektu, sprawdza się, czy istnieje poprzednia wersja danego obiektu. Jeśli tak,
wstawia się wskaźnik na liść zawierający tę wersję jako wsteczny wskaźnik danego wpisu.
Podejście takie ma jedną wadę (jej istotność zależy od charakteru systemu, w którym
indeks jest wykorzystywany). Jeśli wykonane zostanie usunięcie obiektu (nie modyfikacja,
lecz usunięcie w określonej chwili czasu) łańcuch wstecznych wskaźników ulega załamaniu. Możliwe jest zapewnienie wyszukiwania poprzedniej wersji niezależnie od operacji
kasowania poprzez dodatkowe wyszukiwanie lub strukturę pomocniczą. Taką strukturą
może być B+drzewo, przechowujące informacje o aktualnych wartościach obiektów. Dla
liczników mediów raz skasowanych nie następuje aktywacja.
Rys. 3a przedstawia idee MVB-drzewa wyposażonego we wsteczne wskaźniki, dla
obiektu o kluczu 2. Podejście to mimo duplikacji wpisów (np. wpis 2[6,*) dla ROOT2
i ROOT3) nie powoduje nieścisłości – wpisy te kierują na rzeczywisty poprzedni wpis,
w którym wystąpiła rzeczywista operacja aktualizacji. Rys. 3b przedstawia wykres
rzeczywistych danych zmiennych w czasie (stany dwóch liczników) wraz ze wstecznymi
wskaźnikami na kolejne chwile modyfikacji danych.
T2
T3
Czas
l
Rys. 3. Wsteczne wskaźniki (a) w strukturze MVB-drzewa (b) dla danych rzeczywistych
Kolejne modyfikacje wstecznych wskaźników mają na celu zminimalizowanie narzutu pamięciowego związanego z utrzymywaniem informacji dla każdego z wpisów. Wystarczy
przechowywać tylko kilka rzeczywistych identyfikatorów w indeksowanej tablicy, a dla
poszczególnych elementów przypisywać identyfikatory (wystarczy bajt). W aktualnej implementacji wskaźnik zajmuje 12 bajtów, do przechowywania indeksu wystarczyłby 1 bajt.
282
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Przestrzenno - temporalna hurtownia danych z indeksami: R-MVB, STCAT oraz BITMAP
w
2.1.2 Modyfikacje MVB-drzewa – agregaty czasowe
Najprostszym przykładem zastosowania agregacji może być indeks przechowujący informacje z liczników. Liczniki telemetryczne charakteryzują się określonym identyfikatorem
(ID), a wartości są przesyłane jako różnica od ostatniego pomiaru. W tym przypadku odpowiedź na zapytanie o aktualny stan licznika jest stosunkowo skomplikowana. Aby uprościć
odpowiedź dodano pole SUM reprezentujące sumę dotychczasowych wartości. Jednocześnie nie jest gubiona informacja cząstkowa, umożliwiających między innymi weryfikacje
poprawności danych, czy też bardziej szczegółowe zapytania. Inną agregacją może być
zliczanie liczby aktualizacji od ‘zarejestrowania’ danego obiektu. Pozwoli to na ocenę
‘aktywności’ danego obiektu, liczonej jako liczba aktualizacji, którym uległ do określonego
momentu w czasie. Agregacje te umożliwiają także proste otrzymywanie agregacji dla zakresu czasowego, a nie tylko dla całej historii. Rys. 4 przedstawia strukturę MVB-drzewa
zmodyfikowanego o agregaty czasowe. Drzewo to przechowuje jako wartości aktualizacje
od ostatniego pomiaru, jako SUM – sumę wartości, a w polu COUNT – aktualizacje od
poprzedniego pomiaru.
w
ROOT 2
ROOT 3
w
ROOT 1
[6,9)
2 [3,6):4:2:5
2 [1,3):1:1:1
3 [2,*):3:1:3
5 [4,5):2:1:2
2 [6,*):-2:3:3
3 [2,*):3:1:3
7 [7,*):7:1:7
9 [8,*):6:1:6
ROOT 4
[9,11)
[11, *)
2/3 [2,11) A
9/11 [7,11) B
2/9 [11,*) C
da
.b
[-*, 6)
A
2 [6,*):-2:3:3
3 [2,*):3:1:3
B
7 [7,10) ):7:1:7
9 [8,*):6:1:6
11 [9,11)5:1:5
2 [6,*) :-2:3:3
3 [2,*):3:1:3
9 [8,12) :6:1:6
9 [12,*) :-6:2:0
C
2 [6,*):-2:3:3
3 [2,*):3:1:3
9 [8,*):6:1:6
Rys. 4. Przykład MVB-drzewa poszerzonego o pola agregacyjne w węzłach liścia
pl
s.
Każdy z wpisów posiada zagregowane wartości z poprzednich wersji wpisów, co zapewnia
natychmiastowe odpowiedzi na zapytania agregacyjne.
2.1.3 Koniunkcja MVB-drzewa z R-drzewem
Z uwagi na fakt, że indeks MVB jest indeksem czasowym, należy rozwiązać problem
indeksowania danych telemetrycznych jako danych przestrzennych.
Rozwiązaniem jest koniunkcja MVB-drzewa z R-drzewem (rys. 5), gdzie MVB drzewo
obsługuje zapytania czasowe, natomiast R-drzewo zapytania przestrzenne.
283
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
M. Gorawski, M. Gorawski
w
Rys. 5. Koniunkcja R-drzewa z MVB-drzewem (indeks R-MVB)
w
2.2 Przestrzenno-czasowe drzewo agregacji kubełkowej STCAT
da
.b
w
Badania indeksu R-MVB potwierdziły jego dużą przydatność do użycia w STDW(t), jednakże znaczącą jego wadą jest czasochłonny proces budowania indeksu oraz zajmowanie
przestrzeni dyskowej. Indeks R-MVB przechowuje wszystkie wartości historyczne, w tym
pojedyncze pomiary, co w przypadku systemu STDW(t) nie jest konieczne. Indeks R-MVB
nie pozwala na uzyskanie wartości maksymalnych i minimalnych dla przedziału czasu
innego niż całkowity tzn. w przypadku agregacji czasowej 0 – t1 oraz t2 – 0 nie mamy
możliwości obliczenia wartości min i max dla przedziału t1-t2.
W pracy [11] przedstawiono alternatywną strukturę indeksującą, która zamiast przechowywać wszystkie pomiary historyczne przechowuje zagregowane dane dla danych liczników w kubełkach czasowych o ustalonej długości czasowej. Zaproponowaną strukturę indeksu nazwano przestrzenno - czasowym drzewem agregacji kubełkowych STCAT
(ang. Spatio Temporal Cup Agreggate Tree). W każdym liściu drzewa wielowymiarowego
(rys. 6) jest lista korzeni do drzew czasowych - czyli jest to struktura listy drzew czasowych
(rys. 7) o jednym wymiarze, przyłączanych do liści drzewa wielowymiarowego. Każde
drzewo czasowe znajduje się w danym liściu wielowymiarowym. Liść może mieć więcej
takich drzew czasowych.
800
1000
12, 15
10, 11
14, 16
21, 22
17, 18
19, 20
29, 30
400
25, 26
27, 28
13, 19
pl
s.
600
200
3 4 2 5 3 1 7 2 5 9 1 4 3 6 5 7
7
7
4
14
9
14
13
27
5
9
19
12
21
40
67
23, 24
600
czas
Rys. 6. Drzewo wielowymiarowe
Rys. 7. Drzewo czasowe
284
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Przestrzenno - temporalna hurtownia danych z indeksami: R-MVB, STCAT oraz BITMAP
2.3 Indeks BITMAP
w
Indeks bitmapowy (BITMAPA) został zintegrowany z systemem DSTDW w ramach porównań wielu struktur indeksujących. Struktura tego indeksu sprowadza się właściwie do
przechowywania danych w paczkach, tworzonych przy pomocy danej funkcji haszującej
[11]. Główną zaletą tej struktury jest bardzo duża elastyczność i przystosowanie do różnego
rodzaju danych, w przeciwieństwie do MVB-drzewa i drzewa STCAT, które są przeznaczone przede wszystkim do danych czasowych (MVB) lub przestrzenno-czasowych
(STCAT). Każdy rekord posiada obliczoną liczbę haszującą, która jednoznacznie definiuje
daną paczkę. Domyślnie paczki mają pojemność do 1000 rekordów (wartość konfigurowalna). Jeżeli paczka nie istnieje, jest tworzona i zachowywana na dysku, natomiast jeżeli
nastąpi przepełnienie paczki, tworzona jest kolejna o tym samym typie. Lista paczek oraz
ich opis przechowywany jest w pamięci. Paczka zawiera rekordy: minimalny, maksymalny
i rekord sumy, oraz opisana jest przez sumę haszującą, liczbę aktualnych rekordów i numer
paczki na dysku.
w
w
3
Testy wydajnościowe systemu STDW(t) z nowymi indeksami
da
.b
W testach systemu STDW(t) z indeksami: R-MVB, STCAT, BITMAP porównano czasy
ich budowy oraz czasy odpowiedzi na zapytania przestrzenno-czasowe. System STDW(t)
został przetestowany w środowisku jednostanowiskowym (serwer -STDW(t) oraz uruchomiony na nim klient STDW(t)). Środowisko to tworzył komputer AMD Athlon XP 2600+,
1Gb RAM z systemem Oracle 10g.
Testy przeprowadzono dla 100 liczników rozmieszczonych w 4 węzłach zbiorczych po
25 każdy, z pomiarami dla 1 miesiąca, 3 miesięcy, 6 miesięcy, 12 miesięcy oraz 18 miesięcy. Dane testowe otrzymano przy użyciu generatora danych telemetrycznych, który został
zaimplementowany właśnie w tym celu. Generowane są zarówno atrybuty liczników
(id licznika, współrzędne x,y,z) jak i ich pomiary dla danego przedziału czasowego.
Wykonano 2 serie pomiarów dla liczników skupionych w w/w węzłach zbiorczych.
pl
s.
3.1 Czas budowy indeksów
Testy systemu STDW(t) zostały przeprowadzone z położeniem nacisku na czasy budowy
indeksów, jako najdłużej trwające – poza ekstrakcją danych – procesy. Mierzono czasy
budowy indeksów w zależności od liczby danych w tablicy pomiarów (MEASURES) [6].
Wykresy (rys. 8) wykonano dla indeksów z wliczonym czasem wykonania instrukcji select
na bazie danych oraz bez tego czasu.
285
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
M. Gorawski, M. Gorawski
w
Czas budowy indeksu [s]
900
800
700
600
STCAT
500
BITMAP
400
R-MVB
300
200
100
0
120000
350000
610000
1300000
2000000
Liczba danych
w
w
Rys. 8. Czasy tworzenia indeksów (bez czasu realizacji instrukcji select)
da
.b
Czasy mierzono uwzględniając czas wykonania instrukcji select na bazie Oracle (dane są
wydobywane z bazy, w celu umieszczenia ich w strukturach indeksujących) oraz z pominięciem tego czasu. Powodem takiego podejścia do tego czasu jest to, że nie wszystkie
instrukcje select dla indeksów zawartych w projekcie mają tę samą postać i czas wykonania. Czasy budowy indeksów bez uwzględniania instrukcji select pozwalają na ocenę
wydajności danego indeksu w wypadku operowania na surowych danych, zmagazynowanych nie w bazie danych, lecz np. w pliku.
Indeksy STCAT i BITMAP posiadają podobny czas tworzenia dla mniejszej liczby
danych, lecz widać wyraźny trend wzrostowy dla czasu indeksu BITMAP i powiększające
się rozwarstwienie czasów tworzenia indeksów dla większej liczby danych. Budowa RMVB drzewa jest wyraźnie bardziej czasochłonna podczas tworzenia i przy 2 000 000
rekordów różnica pomiędzy najszybciej tworzącym się indeksem, STCAT, wynosi ponad
100 sekund, co jest już znaczącą wartością.
3.2 Czas odpowiedzi na zapytania przestrzenno-czasowe
1000
800
pl
Czas odpowiedzi na
zapytanie przestrzennoczasowe [ms]
s.
Sprawdzono także czasy odpowiedzi na zapytania przestrzenno-czasowe dla systemu
SDTW(t) z omawianymi indeksami w przypadku pesymistycznym, tj. zapytania z pełnego
zakresu czasowego oraz przestrzennego (rys. 9).
STCAT
600
BITMAP
400
R-MVB
200
0
120000
350000
610000 1300000 2000000
Liczba danych
Rys. 9. Czasy odpowiedzi na zapytania przestrzenno-czasowe
286
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Przestrzenno - temporalna hurtownia danych z indeksami: R-MVB, STCAT oraz BITMAP
w
Testy przeprowadzono zarówno dla zapytań z całościowego zakresu czasowego istniejących pomiarów jak też z częściowego zakresu, jednakże testy nie wykazały znaczącego
wpływu zakresu czasowego na czas odpowiedzi żadnego z rozważanych indeksów. Czasy
odpowiedzi uzyskane przy tych indeksach są nieporównywalnie krótsze od odpowiedzi na
zapytania wykonywane na bazie danych Oracle (zapytania zadawane bezpośrednio w systemie Oracle 10g wymagały kilkunastokrotnie dłuższego czasu na wykonanie). Czasy, uzyskane przez indeksy R-MVB oraz BITMAP, nie wykazały zbytniej zależności ani od liczby
danych ani od rozmieszczenia liczników. Większe znaczenie miało tu wybranie okna
zapytania.
w
4 Konkluzje
da
.b
w
Dotychczasowe prace na systemami SDW(t) i ich rozproszoną wersją (DSDW(t)) koncentrowały się na architekturze indeksowanej aR-drzewem [7], [12]. Natomiast badania nad
przestrzenno-temporalną hurtownią danych STDW(t) dotyczą architektury o modelu gwiazdy kaskadowej:
− indeksowanej aRB-drzewem [13],
− wersjonowanej-temporalności zapewniają dwie odrębne tabele „startowe” [14 ].
Obecna praca jest poważnym krokiem poprawiania efektywności STDW(t) poprzez wprowadzenie 3-ch nowych wydajnych indeksów: R-MVB, STCAT, BITMAP.
Indeks STCAT cechuje relatywnie szybki czas tworzenia i dobre czasy odpowiedzi na
zapytania (dla 2000000 rekordów poniżej 1 sekundy). Dodatkową jego zaletą jest możliwość zoptymalizowania wydajności indeksu poprzez odpowiednie dobranie wielkości
kubełków czasowych oraz wielkości granicznych indeksu. Ważna jest też bardzo mała
zajętość pamięciowa indeksu (dla 2000000 rekordów indeks przechowywany całkowicie
w pamięci operacyjnej zajmuje około 10 MB).
Indeksy BITMAP okazały się najbardziej wszechstronne. Czas budowy indeksu
BITMAP był znacznie krótszy niż indeksu R-MVB. Zajętość dyskowa indeksu BITMAP
jest porównywalna do zajętości dyskowej Oracle 10g dla takich samych danych, jednakże
hierarchiczny podział danych pozwala na uzyskanie znacznie szybszych odpowiedzi na
zapytania.
Indeksy R-MVB cechuje znaczny czas budowy, a bardzo dokładna historia wszystkich
pomiarów systemu powoduje znaczną zajętość pamięci dyskowej.
Kolejny krok poprawiania efektywności systemu STDW(t) z nowymi indeksami to
przetwarzanie równoległe z zapewnieniem wydajnego balansowania obciążeń (BDSTDW(t)) [15], [16]. Poszukuje się odpowiedniego rozpartycjonowania danych w systemie B-DSTDW(t) z równoczesną selekcją użycia odpowiednich indeksów w poszczególnych węzłach tak, aby zoptymalizować funkcjonalność całego systemu. Konieczność wprowadzania wielu rodzajów indeksów do systemu STDW(t) pojawiła się wraz z przetwa-rzaniem gridowym [17].
pl
s.
Literatura
1.
Tao, Y., Papadias, D., Range Aggregate Processing in Spatial Databases. IEEE Transactions on
Knowledge and Data Engineering (TKDE), pp.1555-1570, 2004.
287
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
M. Gorawski, M. Gorawski
2.
3.
4.
w
Gorawski M., Malczok R.: On Efficient Storing and Processing of Long Aggregate Lists. 7th
International Conference Data Warehousing and Knowledge Discovery, DaWaK 2005,
Copenhagen, Denmark, August 22-26, 2005, LNCS3589, pp. 190-199, 2005.
Gorawski M., Malczok R.: Updating Aggregation Tree in Distributed Spatial Telemetric Data
Warehouse. 13th Euromicro Workshop on Parallel, Distributed and Network-Based Processing
(PDP), 6-11 February 2005, Lugano, Switzerland. IEEE CS, pp. 329-336, 2005.
Gorawski M., Gabryś M.: Telemetryczny system zintegrowanego odczytu liczników. Praca
zbiorowa „Współczesne problemy sieci komputerowych_Nowe technologie” WNT, Eds.
Węgrzyn St., Pochopień B., Czachórski T., WNT, ISBN 83-204-3010-0, pp. 203- 211, 2004.
Gorawski, M., Malczok, R.: Aggregation and analysis of spatial data by means of materialized
aggregation tree. Advances in Information Systems: Third Biennial International Conference on
(ADVIS 2004), LNCS 3261, pp. 57-67, Izmir, Turkey 2004.
Gorawski M.: Systemy przestrzennych hurtowni danych telemetrycznych. Praca zbiorowa.
„Współczesne problemy systemów czasu rzeczywistego”, Eds. A. Kwiecień, P.Gaj, WNT, pp.
421-433, 2004.
Gorawski, M., Malczok, R.: Distributed Spatial Data Warehouse Indexed with Virtual Memory
Aggregation Tree. 2th Workshop on Spatial-Temporal Database Management
(STDBM_VLDB’04), pp. 25 – 32, Toronto, Canada 2004.
Driscoll, J., Sarnak, N., Sleator, D., Tarjan, R. Making Data Structures Persistent. JCSS, 38(1):
86-124, 1989.
Becker, B., Gschwind, S., Ohler, T., Seeger, B., Widmayer, P. An Asymptotically Optimal
Multiversion B-Tree. VLDB Journal, 5(4): 264-275, 1996.
Gorawski M., Faruga M.: Extending Structure and Operations for MVB- Tree. Raport tech. nr
ZTAIP/3/2005, ZTI, Instytut Informatyki, Politechnika Śląska 2005.Gorawski M., Bańkowski
S., Gorawski M.: STCAT. Raport tech. nr PHDiSI/4/2005, ZTI, Instytut Informatyki,
Politechnika Śląska 2005.Gorawski M.: Indeksowanie aR- drzewem przestrzennej hurtowni
danych. „Efektywność zastosowań systemów informatycznych”, Eds. Grabara J., Nowak J.,
WNT, ISBN 83-204-3016-X, pp.245-260, 2004.
Gorawski M., Górski A.: Modelowanie przestrzennej temporalnej hurtowni danych
indeksowanej aRB-drzewem. Systemy Czasu Rzeczywistego, Kierunki badań i rozwoju. Eds. A.
Kwiecień. Wydawnictwa Komunikacji i Łączności (WKŁ), ISBN 83-206-1589-5, pp. 149-158,
2005.
Gorawski M., Bortlik Ł.: Temporalna telemetryczna hurtownia danych. Bazy Danych. Modele,
Technologie, Narzędzia, Eds. St. Kozielski, B.Małysiak, P.Kasprowski, D. Mrozek,.
Wydawnictwa Komunikacji i Łączności (WKŁ), ISBN 83-206-1572-0, pp. 51-57, 2005.
Gorawski M., Chechelski R.: Parallel Telemetric Data Warehouse Balancing Algorithm. 5th
International Conference on Intelligent Systems Design and Applications, 8-10 September 2005,
Wrocław, Poland, IEEE Computer Society, ISBN 0-7695-2286-6, pp.387-392, 2005.
Gorawski M., Kamiński M.: Bezpośrednie balansowanie obciążenia w rozproszonej
przestrzennej hurtowni danych indeksowanej aR-drzewem. Computer Methods and Systems,
Kraków, Poland. Oprogramowanie Naukowo-Techniczne, ISBN 83-916420-3-8, Vol. 2, pp.523528, 2005.
Gorawski M., Bańkowski Sł.: Agenci programowi w przetwarzaniu gridowym. I Krajowa
Konferencja Naukowa _Technologia Przetwarzania Danych (I KKN TPD), Poznań, Poland,
2005, WPP, ISBN 83-7143-354-9, pp. 118-129, 2005.
5.
6.
8.
9.
10.
14.
15.
17.
pl
s.
16.
da
.b
13.
w
w
7.
288
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006

Podobne dokumenty