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