pobierz plik referatu - BDAS
Transkrypt
pobierz plik referatu - BDAS
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Rozdział 29 w Ocena wydajności komponentów systemu przyrostowej ekstrakcji danych ETL(δ) w 1 Wstęp da .b w Streszczenie. W celu poprawy dostępności danych do analiz w hurtowniach danych zaproponowano rozszerzenie funkcjonalności eksploatowanego systemu ETL o proces przyrostowej ekstrakcji danych źródłowych (δ). Taki system ETL(δ) pozwala zachować pełną historię zmian w danych początkowych, a aktualizacja może odbywać się równolegle z dostępem do danych. W rozdziale przedstawiono wyniki badań wydajnościowych podstawowych komponentów systemu ETL(δ). pl s. Ciągła integracja danych silnie charakteryzuje hurtownie danych czasu rzeczywistego, czyli takich, w których m.in. maksymalny czas propagacji zmian danych źródłowych jest rzędu minut [1]. Przyrostowa ekstrakcja danych jest jednym z podprocesów ciągłej integracji danych, którego podstawą jest detekcja zmian wartości danych w źródłach danych. Już od samego początku istnienia hurtowni danych, kluczowym elementem stała się jej aktualizacja. Gdy hurtownia danych efektywnie implementowała zmaterializowane perspektywy, pojawiał się wtedy problem jak propagować do niej zmiany powstałe w jednym ze źródeł, na którym powstała dana perspektywa. Wtedy pojawiał się problem, że gdy założymy, że dane źródło poinformuje o wystąpieniu pewnej zmiany (np. dodano nowy towar), to nie jesteśmy w stanie jednoznacznie określić co się stanie, gdy taka prosta i pojedyncza zmiana przybędzie do hurtowni. Może się w takim przypadku zdarzyć, że będziemy wymagać jakiś dodatkowych danych z innych źródeł, wymuszając od hurtowni danych odpytywania źródeł o te dane, co następuje po wystąpieniu zmiany i może spowodować niespójność danych [18]. Same zmaterializowane perspektywy są tylko pewnym obrazem istniejących źródeł, pod względem interesujących nas kryteriów. Tak więc taka materializacja perspektyw, zawiera w sobie proces ETL, czyli ekstrakcję (określenie z których źródeł pobieramy dane), transformację (określenie w jaki sposób łączymy źródła, dodając do nich transformację danych), wstawienie (określając wynikową perspektywę). Tak więc nie ma jednoznacznego podziały na etapy. Jednak obecny proces definiowania hurtowni, jest procesem określającym źródła danych, ciąg operacji (transformacji) wykonanych na danych i określeniem miejsc doceloMarcin Gorawski, Mariusz Ciepluch: Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, 44-100 Gliwice, Polska, email: {M.Gorawski, M.Ciepluch}@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. Ciepluch w wych, gdzie tak przygotowane dane wylądują. Tutaj już odchodzimy od określenia stricte perspektyw, chociaż na wyższym procesie abstrakcji taka wynikowa hurtownia danych nadal pewnym obrazem źródeł. Analizując problem aktualizacji hurtowni danych, nie traktowany już jako zarządzaniem zmaterializowanym perspektywami może natknąć się na różne podejścia. W pracy [1] autorzy zaproponowali trójwarstwową architekturę procesu ETL opisanego językiem XML, gdzie każda warstwa jest funkcjonalnym rozwinięciem fragmentów procesu. Komunikacja pomiędzy warstwami odbywają się bezpośrednio poprzez szybkie złączki, bez składowania danych pośrednich w plikach. System ten zaimplementowano w środowisku J2EE ETL bez podania jego osiągów m.in. wydajności, skalowalności. W pracy [2] przedstawiono pewne definicje i zagadnienia implementacyjne hurtowni danych czasu rzeczywistego. Zarysowano dwa ważne aspekty zagadnienia: (a) współbieżność aktualizacji (aktualizacja danych wraz z równoległym dostępem do danych) oraz (b) czas aktualizacji danych w bazie hurtowni, wydłużony o czas aktualizacji wszelkich struktur wzmacniających wykonanie analiz, tj. kostki i markety danych. W pracy [3] autorzy przedstawiają obiektowe podejście oraz zarysowują problem utrzymywania historii zmian w docelowej hurtowni danych. Zestawiono wszystkie dane na tym samym poziomie szczegółowości i opisano wszystkie schematy poszczególnych źródeł, jednym wspólnym schematem. Wprowadzono dodatkowe monitory reagujące na zmiany oraz opakowywacze w powiązaniu z systemem odświeżania hurtowni. Menadżer odświeżania zarządza całym procesem poprzez odebranie danych ze źródeł operacyjnych jako obiektów i skoordynowanie aktualizacji danych w docelowej hurtowni, bazując na repozytorium metadanych opisujących poszczególne relacje. W rozdziale zaprezentowano wyniki testów wydajnościowych dla trzech głównych komponentów systemu ETL(δ): detekcji zmian, grupowania, złączenia. da .b w w 2 System ETL(δ) pl s. Prezentowany system ETL(δ)uwzględnia w klasycznym systemie ETL (ang. Extraction, Transformation, Load) proces przyrostowej aktualizacji danych δ dzięki detekcji zmian w danych źródłowych. Takie podejście jest kontynuacją wcześniejszych badaniach własnych [4] – [14] i kolejnym krokiem w realizacji ciągłej integracji danych. W klasycznym procesie ETL ekstrakcja danych następuje zwykle do pustej struktury hurtowni danych. W takim przypadku, jeśli chcemy zaktualizować zawartość hurtowni należy cały proces ETL wykonać od nowa. Takie rozwiązanie obarczone jest stratą czasu na ponowną ekstrakcję oraz utratę historii zmian w danych. Podczas każdej reekstrakcji dodatkowo dane w hurtowni są niedostępne dla analiz. Uwzględniając masowość danych w hurtowniach ciągły proces reekstrakcji i utrata historii zmian obniża znacznie wartość danych oraz zwiększa koszt ich uzyskania. W procesie ETL(δ) dodajemy proces detekcji zmienionych danych źródłowych (rys.1) i operujemy tylko na samych danych przyrostowych [15]. Proces detekcji zmian zachodzi na samym początku procesu ETL(δ). Pozwala to na przyrostowe aktualizowanie danych w hurtowni z zachowaniem historii zmian, co przy dobrej współbieżności zapewnia ciągłą dostępność danych. Właśnie ta ostatnia cecha, czyli ciągła dostępność danych jest pożądaną dla procesu ETL(δ). Zaproponowanym rozwiązaniem w tym systemie jest operowanie na wycinku całości danych, czyli na samych danych zmienionych. 290 (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 Ocena wydajności systemu przyrostowej ekstrakcji danych ETL( δ ) Hurtownia danych Ładowanie Ładowanie ETL Transformacja δ ) w Transformacja ETL( Hurtownia danych Detekcja zmian Ekstrakcja w Pliki Bazy danych Źródła danych Ekstrakcja Pliki Bazy danych Źródła danych w Rys. 1. Różnice pomiędzy klasycznym procesem ETL (po lewej) a procesem ETL(δ) z aktualizacją przyrostową (po prawej) da .b Takie rozwiązanie pociąga za sobą problem zależności pomiędzy danymi i dostępem do pozostałych danych (nie występujących w przetwarzanej paczce aktualizacyjnej). Ogólnie wymagania komponentów w takim systemie można podzielić na 3 grupy: 1) niezależne od poprzednich danych (np. filtrowanie); 2) wymagające przechowania poprzedniej wartości podsumowania (np. agregacja); 3) wymagające dostępu do wszystkich poprzednich danych (np. złączenie, grupowanie). Pierwsza grupa nie wymaga wyjaśnienia. Aby rozwiązać problem dwóch pozostałych, w systemie przyjęto założenie o przechowaniu lokalnych kopii danych na wejściu, aktualizowanej wraz z pojawianiem się kolejnych zmian w danych. Takie rozwiązanie (tak jak zapytania zwrotne podczas aktualizacji zmaterializowanych perspektyw) powala na dostęp do danych, które nie są obecne w danej aktualizacji, a są wymagane do aktualnie transformowanej krotki (np. do złączenia). pl s. 3 Badania wydajnościowe komponentów systemu ETL(δ) Szczegółowe opisy funkcjonale komponentów tworzących system ETL(δ) można znaleźć w pracy [16]. Poniższe rezultaty testów i analiz dotyczą trzech głównych komponentów systemu ETL(δ): detekcji zmian, grupowania, złączenia Badania wydajnościowe pozwalają oszacować opłacalność użycia systemu ETL(δ). Dla wszystkich prezentowanych wariantów badań w/w komponentów procedura badawcza była podobna: wykonanie kilku powtarzalnych badań z pomiarem czasu wykonania dla każdego przypadku, a następnie obliczenie średniej arytmetycznej uzyskanych wyników. Dla czytelniejszej prezentacji, wyniki zostały przedstawione na wykresie, gdzie oś X stanowi procent zmian w danych źródłowych (procentowy udział liczebności zbioru krotek wysyłany na danym etapie). Innymi słowy, jaka jest liczebność krotek zmienionych (U – zmodyfikowanych, D – usuniętych, N – dodanych) na każdym etapie, z odpowiednimi wartościami procentowymi, z dodatkowym polem Init, mówiącym o początkowym ładowaniu do pustego systemu ETL(δ). Oś Y to oś czasu pracy komponentu liczonego w sekundach. 291 (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. Ciepluch Badania podzielono na dwie grupy, w pierwszej pokazano jaki wpływ na wydajność ma organizacja lokalnych repozytoriów danych; w drugim pokazane ma jaki wpływ na wydajność ma typ krotki wejściowej. Wybrano 3 komponenty, bowiem są najbardziej reprezentatywne oraz kluczowe dla całego procesu. w 3.1 Analiza czasu pracy komponentów systemu ETL(δ) w zależności od metody prze chowania danych da .b w w Poniższe badania dotyczą komponentów: detekcji zmian, grupowania, złączenia w kontekście organizacji danych, zgodnie z ich możliwościami konfiguracyjnymi. Komponenty te są reprezentatywne dla systemu ETL(δ) pod względem wymagań obliczeniowych prowadzenia testów wydajnościowych. Uzyskane wyniki pokazują wady i zalety poszczególnych metod przechowania danych tych komponentach. Do tych metod zaliczono: − skorowidz, czyli przechowywanie kluczy w pamięci, a danych na dysku. − B+drzewo, które w węzłach przechowuje same klucze, a w liściach odwołania do danych w pliku. − skorowidz stronnicowy, czyli podzielenie zbioru na N części i przechowywanie tylko jednej części w pamięci, a resztę na dysku. Przy każdym odwołaniu do elementu poza istniejący zakres następuje przeładowanie strony: zapisanie bieżącej i wczytanie nowej, wg przechowywane indeksu elementów. − strukturę przechowującą pewien zbiór M ostatnich elementów, które są najczęściej używane z użyciem buforu LRU [17]. − strukturę bezpośredniego wyznaczania na podstawie klucza położenia w pliku danych, z użyciem bufora LRU (zwane dalej jako iPersist). 3.1.1 Detekcja zmian W przypadku testowania komponentu detekcji zmian użyto 5 typów przechowania danych, w tym 3 opierają się o skorowidz (D0 – D 2), a dwie pozostałe to skorowidz stronnicowy (D 3.0 oraz D 3.1) i B+drzewo (D 4) (rys. 2). Czas detekcji zmian w zależności od typu s. 140 120 80 pl czas detekcji [s] 100 60 40 20 0 init 0% 5% 10% 15% 20% 25% 30% 40% 50% 75% 90% procent zmian D0 D1 D2 D 3.0 D 3.1 D4 Rys. 2. Czas detekcji w zależności od typu przechowania danych w komponencie detekcji zmian 292 (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 Ocena wydajności systemu przyrostowej ekstrakcji danych ETL( δ ) Wydajność tego komponentu dla poszczególnych metod jest podobna poza czasem ładowania początkowego. Najgorzej wypada skorowidz stronicowy, dla którego wydajność komponentu spada w wyniku ciągłego przeładowywania stron i to dla danych posortowanych (nieakceptowanie niska dla danych nieposortowanych). Dla B+drzewa komponent cechuje długi czas ładowania początkowego, ale jest to typowa właściwość tego typu struktur. Metoda B+drzewa zapewnia najlepszą wydajność dla co najmniej 50% udziału krotek zmienionych. w w 3.1.2 Grupowanie Badanie komponentu grupowania zostało przeprowadzone dla dwóch wariantów danych wejściowych: posortowanych i nieposortowanych, względem klucza grupowania. Wyróżniono następujące warianty grupowania: agregaty przechowywane (w całości) w pamięci (GT 0 - GT 2), skorowidz stronnicowy (GT3.0, GT3.1, a GT5.0 i GT5.1 wersja z dodatkowym buforem LRU), skorowidz (GT 4, GT 6 wersja z dodatkowym buforem LRU), wykorzystującego interfejs iPersist (GT 7) oraz B+drzewo (GT 8). w czas grupowania w zależności od typu dla danych posortowanych 140 120 czas pracy [s] 80 60 40 20 0 init da .b 100 0% 5% 10% 15% 20% 25% 30% 40% 50% 75% 90% procent zmian GT 5.0 GT 6 GT 7 GT 8 GT 0 GT 1 GT 2 GT 3.0 GT 3.1 Gt 4 GT 5.1 s. Rys. 3. Czas grupowania dla posortowanych danych wejściowych, w zależności od sposobu przechowania danych w komponencie grupowania pl W przypadku danych posortowanych (rys. 3) wydajność komponentu dla poszczególnych typów grupowania jest podobna, poza typem GT 3 (3.0, 3.1) oraz GT 4. Jednak po dodaniu bufora LRU wydajność komponentu osiąga standardowy poziom. Także wzrost czasu przetwarzania komponentu wraz ze wzrostem procentu zmian w danych źródłowych w pewnym momencie osiąga, lub nawet przekracza czas ładowania początkowego. W tym przypadku można określić opłacalność użycia tego komponentu na ok. 50 % zmian w danych źródłowych. Dla przypadku danych nieposortowanych (rys. 4) na wejściu względem klucza grupowania, można zauważyć inny rozkład wyników dla komponentu grupowania. Po pierwsze, jego wydajność dla metody skorowidza stronnicowego (z i bez bufora LRU) jest nie klasyfikowana dla tego przypadku, z powodu wydajności gorszej o rzędy wielkości. Drugą uwagą jest to, że jego wydajność dla skorowidza indeksowego (GT 4 i GT 6 z buforem) odbiega od pozostałych, których wydajność jest porównywalna z sobą. 293 (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. Ciepluch Czas grupowania w zależności od typu dla danych nieposortowanych 120 w czas pracy [s] 100 80 60 40 20 w 0 init 0% 5% 10% 15% 20% 25% 30% 40% 50% 75% 90% procent zmian w danych GT 7 GT 6 GT 0 GT 8 GT 2 GT 1 GT 4 w Rys. 4. Czas grupowania dla nieposortowanych danych wejściowych, w zależności od sposobu przechowania danych w komponencie grupowania da .b 3.1.3 Złączenie Komponent złączenia wymaga dopasowania danych z dwóch różnych i niezależnych wejść. Dla każdej krotki nadchodzącej na wejście N, musimy dopasować krotkę z wejścia M lub zadecydować o odrzuceniu krotki. Z tego powodu na każdym wejściu komponentu złączenia są przechowywane wszystkie krotki, które weszły na to wejście (aktualna wersja do danego etapu), oraz zmiany nadchodzące w danym etapie. Dzięki czemu, dla każdej krotce na wejściu N, możemy dopasować krotkę z wejścia M. Wadą takiego rozwiązania jest złożoność takiego sposobu, zarówno czasowa, jak i pamięciowa. Czas złączenia w zależności od typu 1200 1000 czas [s] 600 400 200 0 init 0% 5% 10% 15% 20% 25% 30% procent zmian w danych JT 0 JT 1 40% pl s. 800 50% 75% 90% JT 2 Rys. 5. Czas złączenia w zależności od sposobu przechowania danych w komponencie złączenia Dla operacji złączenia wyróżnia się 3 typy złączeń: blokujące (JT 0) – blokujemy przyjmowanie krotek na jednym z wejść, dopóki nie zaktualizujemy drugiego wejścia (pobierzemy wszystkie krotki i uaktualnimy wersję bazy lokalnej); nie blokujące (JT 1) – sekwen294 (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 Ocena wydajności systemu przyrostowej ekstrakcji danych ETL( δ ) w cyjne pobieranie krotek z dwóch wejść i warunkowe dopasowywanie, tylko tych, które zostały zaktualizowane; oraz drzewo złączeń (JT2) – specjalną strukturę, która wykorzystuje fakt, że krotki z dwóch wejść dopasowywane są na podstawie zgodnego klucza, czyli mogą być przechowywane razem w jednym węźle zmodyfikowanego B+drzewa. Jak można zauważyć na rys. 5, wraz ze wzrostem procentu zmian w danych źródłowych, rosną różnice w wydajności poszczególnych typów. Najlepszym typem jest drzewo złączeń, a najgorszym wersja blokująca. Jednak analizując przypadek, że stroną do której dołączamy jest mało liczna (w porównaniu ze stroną dołączaną), należy się spodziewać, że wersja blokująca będzie wydajniejsza. Drugą uwagą jest to, że w przypadku tego komponentu różnica w wydajności, między ładowaniem początkowym a procentami zmian jest wyraźna. Widać tutaj duży wpływ zależności pomiędzy dwoma wejściami (dopasowanie na podstawie równości klucza) na wydajność. Jednak wykorzystanie drzewa złączeń pozwala osiągnąć wydajność, na poziomie porównywalnym z ładowaniem początkowym. w w 3.2 Analiza czasu pracy komponentów systemu ETL( δ ) w zależności od typu krotek wejściowych da .b Prezentowane wyniki uzyskano dla 3 głównych komponentów: detekcja zmian, grupowania, złączenie dla różnych typów krotek w systemie: zmienionych (U), dodanych (N) i usuniętych (D). Należy przez to rozumieć, że procent zmian był jednolity, czyli były tylko krotki jednego typu. Jako metodę przechowywania danych, przyjęto w każdym przypadku strukturę B+drzewa. 3.2.1 Detekcja zmian Dla komponentu detekcji zmian najbardziej kosztowną operacją jest dodawanie nowych krotek (rys. 6). Wzrost czasu działania komponentu wraz z procentem zmian danych jest znaczący, z lekkim odskokiem dla procentowo większych zmian, dążący do czasu ładowania początkowego. Porównanie czas detekcji w zależności od typu krotki 60 czas [s] 40 30 20 10 0 Init 0% 5% 10% 15% 20% 25% 30% 40% 50% 75% l p s. 50 90% procent zmian Diff 1 U Diff 1 N Diff 1 D Rys. 6. Czas detekcji zmian w zależności od typu krotek w komponencie detekcji zmian Czas pracy komponentu dla krotek typu U jest liniowy, dążący do ok. 40% czasu ładowania początkowego. Jeśli chodzi o kasowanie krotek (D), to początkowa wydajność komponentu 295 (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. Ciepluch jest najlepsza, ale dla większych zmian w danych można zauważyć skok wydajności, od wartości ok. 60% ładowania początkowego. Uzyskane wyniki są skutkiem przyjętej metody przechowywania danych (B+drzewo), bowiem jest to jej cechą charakterystyczną: duży koszt dodawania nowych węzłów i mniejszy koszt usuwania (chyba, że występuje procentowo dużo krotek zmienianych, powodujący potrzebę kompensacji węzłów) w w 3.2.2 Grupowanie W przypadku komponentu grupowania, wpływ typu krotki na czas pracy dla procentu zmian nie przekraczającego 50% jest nikły (rys.7). Dopiero powyżej tej granicznej wartości następuje rozdział na nowe krotki, zaraz potem zmienione i na samym końcu usuwane. Porównanie czas grupowania w zależności od typu krotki 40 35 w 30 czas [s] 25 20 10 5 0 Init .b 15 0% 5% 10% 15% 20% 25% 30% 40% 50% 75% 90% da procent zmian Group U Group N Group D Rys. 7. Czas grupowania w zależności od typu krotek w komponencie grupowania s. Dobra wydajność tego komponentu dla krotek usuwanych spowodowana jest tym, że usunięcie danego agregatu prowadzi tylko do jego wyzerowania, więc odpada kosztowne usunięcia go ze struktury. 4 Podsumowanie i wnioski pl 3.2.3 Złączenie W przypadku testowania komponentu złączenia, widać od razu charakterystykę zachowania się B+drzewa, czyli duży koszt wstawiania nowych węzłów i kasowania, a mały aktualizacji (rys. 8). System ETL(δ) realizuje proces ekstrakcji danych opartego o ideę ciągłej integracji danych. Jest uzupełnieniem klasycznego systemu ETL o mechanizm detekcji zmian w danych źródłowych. System ETL(δ) gwarantuje pełną dostępność danych w hurtowni danych oraz zachowanie historii zmian danych. Analizy wydajnościowe podstawowych komponentów tj. detekcji zmian, grupowania systemu ETL(δ) wykazały ich dużą użyteczność. 296 (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 Ocena wydajności systemu przyrostowej ekstrakcji danych ETL( δ ) Porównanie czasu złączenia w zależności od typu krotki 70 60 40 w w czas [s] 50 30 20 10 0 Init 0% 5% 10% 15% 20% 25% 30% 40% 50% 75% 90% procent zmian Join U Join N Join D w Rys. 8. Czas złączenia w zależności od typu krotek w komponencie złączenia da .b Uwzględniając, że typowy liczba zmian w danych źródłowych będzie średnio rzędu 5% (i mniej), zysk z wykorzystania systemu dla takiego przypadku jest widoczny. Drugą korzyścią z zastosowania systemu ETL(δ) jest to, że przy cyklicznych wykonywanych aktualizacjach jesteśmy w stanie utrzymywać aktualność i kompletność danych w hurtowni, nie osiągalne w klasycznym procesie ETL. Niestety jest pewien koszt detekcji zmian w danych i operowania tylko na podzbiorze danych, co wymaga tworzenia, przechowywania i zarządzania lokalnymi kopiami danych. Tym większy im więcej czasu tracimy sami na wykrycie zmiany w danych źródłowych. Jednak można przyjąć rozwiązanie optymistyczne, w którym detekcję zmian przerzucamy na same źródła danych, czy zewnętrzne systemy, lub monitory zmian, działające w trybie ciągłym. W każdym z tych przypadków, mamy na początku kolejnego etapu aktualizacji, już gotowe dane przyrostowe. Wtedy zadaniem systemu ETL(δ) jest przetworzenie tych danych przyrostowych i załadowanie ich do docelowej hurtowni danych. Relacje pomiędzy danymi przyrostowymi a pełnym zbiorem danych są złożone. To wymusza szybki dostęp do pozostałych danych nie zmienionych, które w procesie ETL(δ) są blokowane. W systemie ETL(δ) przyjęto rozwiązanie, bazujące na przechowywaniu i zarządzaniu lokalnymi bazami, zawierającymi aktualne dane. Powoduje to, że dane są powielane wielokrotnie w procesie ekstrakcji do docelowej hurtowni i ma wyraźny wpływ na całościową wydajność tego systemu. Kolejną ważną kwestią jest to, że przeprowadzone badania (przy przyjętej implementacji w języku JAVA oraz architekturze x86) wykazały duże zapotrzebowanie komponentów systemu ETL(δ) na pamięć, miejscami nieosiągalne dla architektury x86. Oczywiście, jest to zależne od przyjętych rozwiązań, dlatego i w tej kwestii jest możliwość optymalizacji, czy nawet wykorzystaniu architektur klasy wyższej od x86. Podsumowując, zyski z użycia systemu ETL(δ) z tak zaprojektowanymi komponentami są wyższe niż koszty poniesione. Kluczowym zadaniem tego systemu jest przyrostowa aktualizacja hurtowni danych, z zachowaniem pełnej historii zmian i dostępności dla analiz. I stąd system ETL(δ) jest silnie rozwijany. pl s. 297 (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. Ciepluch Literatura 1. 2. 3. w Bruckner R., List B., Schiefer J.: Striving towards Near Real-Time Data Integration for Data Warehouses. DaWaK 2002, s.317-32. Raden N.: Real time: get Real. Take the idea of a real-time data warehouse with a grain of salt, then realize the possibilities. Intelligent Enterprise, vol. 6, no.10, 2003. Athanasios Vavouras, Stella Gatziu, Klaus R. Dittrich „Modeling and Executing the Data Warehouse Refreshment Process”. International Symposium on Database Applications in NonTraditional Environments (DANTE '99), Kyoto, Japan. IEEE CS 1999, ISBN 0-7695-0496-5. Gorawski M., Jabłoński P.: Uniwersalne środowisko graficzne do modelowania procesów ekstrakcji i odtwarzania. Studia Informatica, vol. 26, 3(64), pp.7-28, 2005. Gorawski M., Marks P.: Grouping and Joining Transformations in Data Extraction Process. XXI Autumn Meeting of the Polish Information Processing Society, Conference Proceedings, Wisła, Poland, ISBN 83-922646-0-6, PIPS pp.105-113, 2005. Gorawski M., Piekarek M.: Rozproszony proces ekstrakcji danych z protokołem SimpleRMI. Bazy Danych_ Modele, Technologie, Narzędzia, Eds. St. Kozielski, Wydawnictwa Komunikacji i Łączności (WKŁ), ISBN 83-206-1572-0, pp. 43-50, 2005. Gorawski M., Marks P.: Data Loading based on UB-Tree Index Implemented in DesignResume/JavaBeans Environment. Studia Informatica, vol. 25, 1(57), pp.141-154, 2004. Gorawski M., Piekarek M.: Rozwojowe środowisko ETL/JavaBeans wzbogacone o roz-proszone sortowanie danych. Praca zbiorowa „Współczesne problemy sieci komputerowych” WNT, pp.173-180, 2004. Gorawski M.: Ekstrakcja i integracja danych w czasie rzeczywistym. Praca zbiorowa. „Współczesne problemy systemów czasu rzeczywistego”, WNT, pp. 435 – 445, 2004. Gorawski M.: 3 perspektywy procesu ekstrakcji danych. Praca zbiorowa „Strategie informatyzacji i zarządzanie wiedzą”, Eds. Szyjewski Z., Nowak J., Grabara J.,WNT, ISBN-832004-3014-3, pp. 295-295-341, 2004. Gorawski M.: Charakterystyka procesu ekstrakcji danych. Studia Informatica, vol. 24, 4(56), pp.212-232, 2003. Gorawski M., Piekarek M.: Rozwojowe środowisko ETL/Java Beans. Studia Informatica, vol. 24, 4(56), pp.288-302, 2003. Gorawski M., Siódemak P.: Graficzne projektowanie aplikacji ETL. Studia Informatica, vol. 24, 4(56), pp.345-367, 2003. Gorawski, M.: Modelowanie procesu ekstrakcji danych. IV Konferencja Metody i systemy komputerowe w badaniach naukowych i projektowaniu inżynierskim, 26-28 listopad, 2003, Kraków, Poland, ONT, Ed. Tadeusiewicz R., Ligęza A., Szymkat M., ISBN 83-916420-1-1, pp.165-170, 2003. Rosana L. de B. A. Rocha, Cardoso L., Souza J.: An Improved Approach in Data Warehousing ETLM Process for Detection of Changes in Source Data. SBBD 2003, s. 253-266. Gorawski M., Ciepluch M.: Przyrostowa ekstrakcja danych ETL( δ ). Studia Informatica 2006. Gorawski M., Faruga.: Indeksowanie przestrzenno – agregacyjne: R, XBR i aP- drzewa. CMS'05: Computer Methods and Systems, Kraków, Poland. Oprogramowanie NaukowoTechniczne, ISBN 83-916420-3-8, Vol. 2, pp.517-522, 2005. Hue Y., Garcia-Molina H., Hammer J., Widom J.: View Maintence In a Warehousing Enviroment. 4. 5. 7. 8. 10. 11. 12. 13. 14. 16. 17. 18. pl s. 15. da .b 9. w w 6. 298 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006