Proces ETL w hurtowni danych
Transkrypt
Proces ETL w hurtowni danych
Plan wykładu 1. Cykl życia hurtowni danych 2. Charakterystyka procesu odświeżania hurtowni danych 3. Kierunki badań Proces ETL w hurtowni danych Hurtownie danych, wykład Bartosz Bębel E-mail: [email protected] Hurtownie danych – Proces ETL w hurtowni danych "Świeżość" informacji w hurtowni danych (1) "Świeżość" informacji w hurtowni danych (2) • Cykl życia hurtowni danych: 1. 2. 3. • • Dane w hurtowni ulegają "starzeniu" wraz ze zmianą danych źródeł Faza projektowania – zaprojektowanie odpowiednich struktur i mechanizmów działania hurtowni danych Faza ładowania – wypełnienie hurtowni danymi pobranymi ze źródeł danych Faza normalnej pracy – obsługa zapytań analitycznych użytkowników – skutek: wyniki analiz, wykonywanych przez użytkowników hurtowni, nie odzwierciedlają poprawnie rzeczywistości • Konieczna jest okresowa realizacja dodatkowej fazy w cyklu życia hurtowni: Dane źródeł danych dla hurtowni ulegają ciągłym zmianom, np.: – – – – ewidencja kolejnych zdarzeń w bazach operacyjnych (np. kolejnych transakcji sprzedaży, nawiązania połączenia telefonicznego), zmiany środowiska działania organizacji (np. zmiany przepisów podatkowych), zmiany struktury i profilu organizacji (np. sprzedaż nowych produktów), itd. Hurtownie danych – Proces ETL w hurtowni danych 2 3 4. Faza odświeżania – okresowe uzupełnianie danych hurtowni danymi, które zostały zmodyfikowane w źródłach danych Hurtownie danych – Proces ETL w hurtowni danych 4 Ładowanie a odświeżanie Cecha Schemat procesu odświeżania Proces ładowania Proces odświeżania Częstotliwość wykonania raz wielokrotnie (z zadanym okresem lub na żądanie) Zakres danych pobieranych ze źródeł masywne operacje odczytu odczyt tylko zmodyfikowanych danych Sposób wypełniania struktur hurtowni danymi całkowity przyrostowy Stopień zaangażowania źródeł danych duży możliwie najmniejszy Czy możliwe wykonanie równolegle nie z pracą użytkowników hurtowni? Etapy składowe sugerowane 1. przygotowanie, 2. integracja, 3. agregowanie, 4. dostosowywanie • Proces ETL – ang. Extraction, Transformation and Loading Uwaga! Być może różny sposób realizacji! na podstawie: M. Jarke, M. Lenzerini, Y. Vassiliou, P. Vassiliadis: Fundamentals of Data Warehouses Hurtownie danych – Proces ETL w hurtowni danych 5 Hurtownie danych – Proces ETL w hurtowni danych 6 Ekstrakcja danych Faza przygotowania: ekstrakcja danych Źródło danych dla hurtowni (1) • Proces pobierania danych ze źródeł danych • Zewnętrzny (w stosunku do hurtowni danych) system, zawierający dane, które (najczęściej po przetworzeniu) mają być przedmiotem analiz użytkowników hurtowni – poziom skomplikowania procesu uzależniony od funkcjonalności źródła danych • Przykłady źródeł danych: – pliki: • Zaangażowane moduły: • płaskie, o określonej strukturze: XML, HTML, SGML, arkusze kalkulacyjne, … – źródło danych – wrapper/monitor – systemy baz danych: • systemy relacyjne, systemy obiektowe, systemy obiektowo-relacyjne, … – bazy wiedzy – systemy spadkowe – … Hurtownie danych – Proces ETL w hurtowni danych 7 Hurtownie danych – Proces ETL w hurtowni danych 8 Ekstrakcja danych Źródło danych dla hurtowni (2) Ekstrakcja danych Źródło danych dla hurtowni (3) • Zbiór źródeł dla hurtowni jest najczęściej heterogeniczny: • Problemy etapu ekstrakcji: – źródła reprezentują różny poziom funkcjonalności i technologicznego zaawansowania (np. pliki płaskie vs. systemy baz danych) – źródła pochodzą od różnych producentów (np. SZBD Oracle 11g vs. SZBD IBM DB2, arkusz MS Excel vs. arkusz OpenOffice) – … 1. 2. • Źródła są autonomiczne: 1. 2. Jak wykryć, kiedy dane źródła uległy zmianie? • W jaki sposób znaleźć dane, które zostały zmienione i w jaki sposób przesłać wykryte zmiany do hurtowni? • modyfikacja lokalnych danych i struktury źródła jest niezależna od jakichkolwiek systemów zewnętrznych źródło może ograniczać dostęp do swojej zawartości: zmiany danych i struktury źródeł zachodzą niezależnie (autonomia źródeł) różna funkcjonalność źródeł może ten proces znacznie ułatwić/utrudnić (heterogeniczność źródeł) • np. dostęp tylko w ściśle określonych ramach czasowych • cel: np. zapobieżenie spadku wydajności pracy lokalnych użytkowników źródła Hurtownie danych – Proces ETL w hurtowni danych 9 Hurtownie danych – Proces ETL w hurtowni danych Ekstrakcja danych Klasyfikacja źródeł danych 10 Ekstrakcja danych Kooperujące źródła danych • Kryterium: dostępne w źródle mechanizmy współpracy z systemami zewnętrznymi (np. hurtownią danych) w procesie wykrywania zmian • Dostarczają mechanizmy: – automatycznego wykrywania zmian ich zawartości – zawiadamiania hurtowni danych o wykrytych zmianach • Rodzaje źródeł kooperujących: • Podział: 1. z mechanizmami replikacji: • posiadają mechanizmy powielania ich zawartości w postaci kopii (tzw. replik) danych • wykrywanie zmian – analiza komunikatów wysyłanych przez system w celu uaktualnienia replik • przykłady: systemy baz danych: Oracle, Microsoft SQL Server, IBM DB2 – źródła kooperujące – źródła niekooperujące 2. aktywne: • samodzielnie wykrywają zmiany w swojej zawartości i powiadamiają o nich systemy zewnętrzne • przykład mechanizmu: wyzwalacze w bazach danych Hurtownie danych – Proces ETL w hurtowni danych 11 Hurtownie danych – Proces ETL w hurtowni danych 12 Ekstrakcja danych Niekooperujące źródła danych (1) Niekooperujące źródła danych (2) • Nie posiadają żadnej funkcjonalności automatycznego wykrywania zmian w ich zawartości • Rodzaje źródeł niekooperujących: 1. • Rodzaje źródeł niekooperujących (cd): 3. źródła z możliwością wydawania zapytań: • umożliwiają dostęp do swoich danych z użyciem mechanizmu zapytań • sposób wykrywania zmian w źródle: okresowe wydawanie zapytań do obszaru danych źródła, który ma być monitorowany • przykład: system relacyjnej bazy danych z zaimplementowanym językiem SQL źródła migawkowe: • udostępniają całą swoją zawartość bez możliwości filtrowania danych • sposób wykrywania zmian w źródle: okresowe porównywanie aktualnej zawartości źródła z zawartością z określonego momentu w przeszłości • przykład: plik płaski 2. Ekstrakcja danych 4. źródła ze specyficznymi mechanizmami: • udostępniają niestandardowe mechanizmy wykrywania zmian danych • przykład: systemy spadkowe źródła udostępniające dziennik zmian: • dostępny plik dziennika (log) z informacjami o wszystkich zmianach, jakie w źródle zaszły • sposób wykrywania zmian w źródle: okresowe analizowanie dziennika • przykład: systemy baz danych, systemy pocztowe Hurtownie danych – Proces ETL w hurtowni danych 13 Hurtownie danych – Proces ETL w hurtowni danych Ekstrakcja danych Wrapper/monitor (1) 14 Ekstrakcja danych Wrapper/monitor (2) • Wrapper: • Monitor: – dokonuje tłumaczenia danych źródła do formatu i modelu danych, jaki jest zastosowany w hurtowni – odpowiada za komunikację między źródłem danych a modułem monitora – poziom złożoności zależy od różnic między reprezentacją danych hurtowni a reprezentacją danych źródła; przykłady: • źródło: plik płaski, hurtownia danych: model relacyjny; wrapper przekształca dane źródła do reprezentacji relacyjnej i formatu hurtowni • źródło: system bazy danych z modelem relacyjnym, hurtownia danych: model relacyjny; wrapper jedynie przekształca dane do formatu hurtowni (brak konieczności zmiany modelu) – element wrappera – odpowiada za wykrywanie zmian danych/struktury źródła danych – poziom złożoności zależy od poziomu funkcjonalności źródła: • źródła kooperujące – praktycznie monitor nie jest konieczny • źródła niekooperujące – najbardziej złożone monitory dla źródeł migawkowych i źródeł specyficznych – implementacja – najczęściej jako moduł programowy – synonimy: brama (ang. gateway), warstwa pośrednia (ang. middleware) Hurtownie danych – Proces ETL w hurtowni danych 15 Hurtownie danych – Proces ETL w hurtowni danych 16 Faza przygotowania: archiwizacja danych Faza przygotowania: czyszczenie danych • Ang. data cleaning, data scrubbing • Tymczasowe składowanie danych, pobranych ze źródeł danych w procesie ekstrakcji • Charakterystyka danych po ekstrakcji ze źródeł: – osobno składowane dane każdego ze źródeł – alternatywnie – składowanie danych po etapie czyszczenia: – dane pobrane ze źródeł heterogenicznych: • różne formaty składowania danych (pliki płaskie, relacje w bazach danych, pliki ustrukturalizowane, itd.) • różne modele danych • dane pobrane ze źródeł czyszczone są "w locie", • archiwizowane przed etapem integracji – "brudne" dane: • błędy, niespójności, braki, powielenia, niezgodności z opisem … • Wykonywane: – częściowo w module wrappera/monitora – przez osobne, specjalizowane moduły Hurtownie danych – Proces ETL w hurtowni danych 17 Hurtownie danych – Proces ETL w hurtowni danych Czyszczenie danych Klasyfikacja błędów (1) Czyszczenie danych Klasyfikacja błędów (2) • Błędy w obrębie pojedynczego źródła danych: – błędy instancji – błędy danych, niewidoczne na poziomie schematu: • przykłady: – błędy schematu: – – – – – • przyczyny: – brak zdefiniowanych ograniczeń integralnościowych: » brak kontroli unikalności wartości » błędy w referencjach danych – błędy projektowe schematu danych – brak schematu (np. pliki płaskie) • przykłady: – błędna wartość atrybutu: data_urodzenia = "30.02.1998" – naruszona zależność między wartościami atrybutów: wiek = "30", data urodzenia = "12.01.1990", zależność: wiek = (bieżąca data – data urodzenia) – naruszona unikalność w kontekście rekordu: r1: (imię="Jan", nazwisko=" Kowal", PESEL="12123012345"); r2: (imię="Adam", nazwisko=" Nowak", PESEL="12123012345"); wymaganie: unikalność wartości atrybutu PESEL – naruszenie ograniczenia referencyjnego: r1: (imię="Jan", nazwisko=" Kowal", nr_wydziału="21"); nie istnieje wydział o numerze 21 Hurtownie danych – Proces ETL w hurtowni danych 18 19 – – – – brakujące wartości atrybutu: data_urodzenia = "??.??.????" literówki w wartości atrybutu: miasto = "Środa Wklp." kodowane wartości atrybutu: zniżka_klienta = {"C1", "D1", "E1"} skróty w wartościach atrybutu: stanowisko = "st. analit. syst." wiele danych w pojedynczej wartości atrybutu: nazwisko = "J. Kowalski, 30.01.78, ul. Pańska 8" wartości niezgodne z opisem pola: miasto = "Francja" naruszone zależności między wartościami atrybutów: miasto="Poznań", kod="64800" zmiana kolejności słów: r1: (klient = "Jan Kowalski"), r2: (klient = "Nowak Adam") powielone wartości rekordów: r1: (klient = "Jan Kowalski"), r2: (klient = "J. Kowalski") Hurtownie danych – Proces ETL w hurtowni danych 20 Czyszczenie danych Klasyfikacja błędów (3) Czyszczenie danych Klasyfikacja błędów (4) • przykłady (cd): • Problemy zbioru źródeł (cd): – sprzeczne wartości rekordów: r1: (klient = "Jan Kowalski", data ur. = "30.01.1982"), r2: (klient = "Jan Kowalski", data ur. = "30.03.1982") – niepoprawne zależności referencyjne: r1: (imię="Jan", nazwisko=" Kowal", nr_wydziału="21"); wydział o numerze 21 istnieje, ale Jan Kowal nie jest w nim zatrudniony – błędy instancji – identyczne jak w przypadku pojedynczego źródła danych, inne: • powielenie danych – dane różnych źródeł reprezentują ten sam obiekt świata rzeczywistego: • Błędy w obrębie zbioru źródeł: – DS1: relacja Pracownicy, DS2: relacja Osoby – błędy schematu: • różna reprezentacja wartości: • konflikty nazw: – DS1: relacja Pracownicy, atrybut płeć – wartości {"K","M"}, DS2: relacja Pracownicy, atrybut płeć – wartości {"1","0"}, – ta sama nazwa dla różnych obiektów (homonimy): DS1: relacja Klienci: atrybut Kategoria (wartości: "osoba fizyczna", "firma"), DS2: relacja Klienci: atrybut Kategoria (wartości: "stały", "jednorazowy") – różne nazwy dla tego samego obiektu (synonimy): DS1: relacja Klienci: atrybut PESEL, DS2: relacja Klienci: atrybut NrEwid (jego wartości to numery PESEL) • różna interpretacja wartości: – DS1: relacja Sprzedaż, atrybut kwota – wartości wyrażone w $, DS2: relacja Sprzedaż, atrybut kwota – wartości wyrażone w € • konflikty struktury – różna reprezentacja tego samego obiektu: • różne poziomy agregacji danych: – DS1: relacja Klienci(id, nazwisko, imię, adres, …), DS2: relacja Sprzedaż, jeden z atrybutów to atrybut wielowartościowy klient Hurtownie danych – Proces ETL w hurtowni danych – DS1: relacja Sprzedaż – jeden rekord opisuje sprzedaż dzienną, DS2: relacja Sprzedaż – jeden rekord opisuje sprzedaż tygodniową 21 Hurtownie danych – Proces ETL w hurtowni danych Czyszczenie danych Fazy procesu czyszczenia (1) – – – 1. Analiza danych (cd): – odkrywa, które rodzaje błędów i niespójności są obecne w danych, rzadko korzysta się z metadanych źródeł danych – najczęściej są niewystarczające, efekt uboczny – identyfikacja odpowiadających sobie atrybutów w źródłach danych, wykonywana zarówno automatycznie (specjalizowane narzędzia analityczne) i ręcznie (na całości bądź próbce danych), stosowane podejścia: • Czyszczenie danych Fazy procesu czyszczenia (2) 1. Analiza danych: – – 22 stosowane podejścia (cd): • eksploracja danych (ang. data mining) – odkrywa specyficzne wzorce w dużych zbiorach danych, np. zależności między wartościami atrybutów; stosowane mechanizmy: – – klastrowanie, odkrywanie sekwencji, odkrywanie zależności, itd. narzędzia: • • profilowanie danych: MigrationArchitect (Evoke Software) eksploracja danych: WizRule (WizSoft), DataMiningSuite (Information Discovery) profilowanie danych (ang. data profiling) – analiza wartości pojedynczych atrybutów instancji danych; odkrywane informacje: – typ danych, długość, zakres wartości, rozkład wartości dyskretnych, unikalności wartości, obecność wartości pustych, typowy wzorzec ciągu znaków (np. numeru telefonicznego), itd. Hurtownie danych – Proces ETL w hurtowni danych 23 Hurtownie danych – Proces ETL w hurtowni danych 24 Czyszczenie danych Fazy procesu czyszczenia (3) Czyszczenie danych Fazy procesu czyszczenia (4) 2. Definiowanie koniecznych transformacji danych: – • funkcje specjalne – stosowane w sytuacji, gdy dziedzina danych jest specyficzna, np. dane medyczne, farmaceutyczne, księgowe, geograficzne: transformacja – sekwencja operacji, przetwarzających dane wg zadanego algorytmu; stosowane techniki: – używają słowników, np. katalog leków, klasyfikacja chorób, kody pocztowe miast • weryfikacja zależności między atrybutami, np.: • ekstrakcja wartości z pól, dla których nie narzucono reguł wprowadzania danych (ang. free-form attributes): – data urodzenia –> wiek – cena całkowita –> cena jednostkowa –> liczba sztuk – miasto –> telefoniczny numer kierunkowy – atrybut klient="Jan Kowalski, ul. Parkowa 1, W-wa" => nazwisko="Kowalski", imię="Jan", ulica="Parkowa 1", miasto="Warszawa" • • konwersja – zmiana oryginalnego formatu danych, np.: – – – plik płaski=> relacja w bazie danych • normalizacja – zastosowanie tego samego formatu do wszystkich pól tego samego typu, np.: – – wartości dat do formatu "dd-mm-rrrr" – litery w ciągach znaków na wielkie – kondensacja tekstu: usunięcie przedrostków, przyrostków, spójników "i", "a", itd. Hurtownie danych – Proces ETL w hurtowni danych zdefiniowanie zbioru reguł: 25 reguły zdefiniowane przez użytkownika lub wygenerowane automatycznie, przykład: zbiór reguł dopasowujących dane osobowe z dwóch relacji transformacje projektowane najczęściej w języka 3GL i 4GL, kod generowany automatycznie na podstawie projektu • możliwe podejście ręczne: np. transformacje w języku SQL i językach programowania (np. PL/SQL) Hurtownie danych – Proces ETL w hurtowni danych 26 Czyszczenie danych Fazy procesu czyszczenia (5) Faza integracji danych 3. Transformacja – uruchomienie zaprojektowanego procesu transformacji • • narzędzia komercyjne: IdCentric (FirstLogic), PureIntegrate (Oracle), QuickAddress (QASSystems), ReUnion (PitneyBowes), Trillium (TrilliumSoftware), DataCleanser (EDD), Merge/PurgeLibrary (Sagent/QMSoftware), MatchIt (HelpITSystems), MasterMerge (PitneyBowes) • Dane nadal szczegółowe (bardzo niski poziom agregacji!) 4. Opcjonalnie: przepływ zwrotny wyczyszczonych danych do źródeł danych – – • Zaangażowane moduły: ang. backfusing cel: poprawa jakości danych w źródłach • – Połączenie pobranych ze źródeł i oczyszczonych zbiorrów danych w jeden spójny zbiór – integrator – operacyjna składnica danych ułatwia kolejne realizacje procesu odświeżania często niemożliwe z racji autonomii źródeł danych Hurtownie danych – Proces ETL w hurtowni danych 27 Hurtownie danych – Proces ETL w hurtowni danych 28 Integracja danych Integrator (1) Integrator (2) • Problemy (cd): 1. Dokonuje mappingu danych źródeł w struktury danych hurtowni 2. Łączy dane, odczytane z źródeł danych w jeden zbiór 3. Wzbogaca dane źródeł o wymiar czasowy • Integracja danych • problem wielu danych źródłowych opisujących ten sam byt – często dane z różnych źródeł są sprzeczne; rozwiązania: – przyznanie poziomów "ufności" poszczególnym źródłom – w przypadku sprzeczności wybierane są dane pochodzące z bardziej "zaufanego" źródła – wybranie źródła, które posiada "świeższe" wartości sprzecznej informacji – wybór źródła na podstawie porównania innych elementów niż ten, którego dotyczy sprzeczność – wyliczenie wartości sumarycznej lub średniej ze sprzecznych wartości Problemy: – 80-90% przypadków to proste mapowania na poziomie atrybutów (atrybut źródła danych -> atrybut hurtowni danych) – 10-20% przypadków wymaga bardziej złożonych reguł do rozwiązania problemów: • problem braku danych – brak w źródłach danych wartości elementu dla hurtowni danych, co umieścić w miejscu brakujących wartości? • problem wspólnego identyfikatora – byty świata rzeczywistego opisywane przez dane z wielu źródeł, jednak brak sposobu identyfikacji identycznych bytów – przykład: brak danych operacyjnych o sprzedaży w danym okresie – umieszczenie wartości pustej (zera) da wyniki analiz pokazujące drastyczny spadek sprzedaży – rozwiązania: » specjalne oznaczenia brakujących wartości » wygenerowanie przybliżonych danych na podstawie danych poprzedzających i następujących po okresie, którego dotyczy brak – przykład: dane klientów przechowywane w bazach danych kilku aplikacji (źródła danych), każdy zbiór danych klientów posługuje się niezależnym sposobem identyfikacji klienta (np. sztucznym identyfikatorem numerycznym) – konieczność zastosowania wyrafinowanych algorytmów dopasowujących, często niemożliwe zastosowanie automatycznych procedur (konieczność ręcznego dopasowania) Hurtownie danych – Proces ETL w hurtowni danych 29 Hurtownie danych – Proces ETL w hurtowni danych 30 Integracja danych Operacyjna składnica danych Faza agregowania danych • Dodatkowy element w architekturze hurtowni • Zawiera dane, pobrane ze źródeł, jedynie częściowo przetworzone i zintegrowane • Zastosowanie: 1. 2. • punkt tymczasowego składowania danych, pobranych ze źródeł, przed ich właściwą integracją w hurtowni cel analiz użytkowników hurtowni, jeśli zachodzi konieczność sięgnięcia do danych szczegółowych (zamiast do źródeł danych) Wyliczenie docelowych agregatów danych dla hurtowni z danych szczegółowych, pobranych z ODS – – konstrukcja kostek danych konstrukcja relacji zbiorczych • Inne funkcje: – zastępowanie "starych" szczegółowych danych przez dane zagregowane • dane o sprzedaży dziennej przechowywane są przez 1 rok, potem zostają zagregowane do sprzedaży miesięcznej – wyliczanie danych na wyższych poziomach agregacji dla hurtowni tematycznych (ang. data marts) Hurtownie danych – Proces ETL w hurtowni danych 31 Hurtownie danych – Proces ETL w hurtowni danych 32 Faza dostosowywania • Odświeżanie – krytyczne problemy (1) 1. Rozmiar przetwarzanych danych: Konstrukcja tematycznych hurtowni danych – – – – tematyczna hurtownia danych - podzbiór danych hurtowni korporacyjnej, opisujących pojedynczą dziedzinę działania organizacji lub grupę powiązanych dziedzin przykład: hurtownia danych firmy telekomunikacyjnej, hurtownie tematyczne: – GB/TB danych, wzrost rozmiaru rzędu 50% rocznie propagacja odświeżania przez różne poziomy hurtowni: ODS, hurtownia korporacyjna, hurtownie tematyczne – dodatkowe zwiększenie rozmiaru danych 2. Wydajność procesu odświeżania: – – – – wyniki akcji promocyjnych, wpływy z abonamentu, zaległości klientów – operacje w procesie konstrukcji hurtowni tematycznej: • odfiltrowanie danych hurtowni korporacyjnej • zwiększenie poziomu agregacji danych hurtowni korporacyjnej mierzona w GB/h konieczność realizacji w formie przetwarzania równoległego wąskie gardło – łącza komunikacyjne hurtowni ze źródłami danych konieczność odświeżenia hurtowni w zadanym oknie czasowym • Hurtownie danych – Proces ETL w hurtowni danych 33 Odświeżanie – krytyczne problemy (2) najczęściej kilka godzin w czasie najmniejszego obciążenia hurtowni lub całkowitego wyłączenia hurtowni (brak użytkowników) Hurtownie danych – Proces ETL w hurtowni danych 34 Komercyjne zintegrowane narzędzia ETL 3. Możliwość realizacji w trakcie pracy użytkowników hurtowni: – w sytuacji, gdy nie ma możliwości wyłączenia hurtowni – – np. hurtownie dla firm globalnych – użytkownicy zlokalizowani w różnych strefach czasowych konflikt: • • • proces odświeżania modyfikuje dane hurtowni, procesy analiz użytkowników odczytują dane hurtowni jak odświeżyć dane hurtowni, nie wpływając negatywnie na analizy użytkowników hurtowni? rozwiązania: – – – – algorytmy kompensacji błędów aktualizacji danych hurtowni wprowadzenie koncepcji transakcji odświeżającej hurtowni zastosowanie algorytmów z dziedziny przetwarzania rozproszonego (np. przekazywanie żetonu) zastosowanie wielowersyjności danych hurtowni za: ETL Magic Quadrant Update: Market Pressure Increases. Gartner Research 2011 Hurtownie danych – Proces ETL w hurtowni danych 35 Hurtownie danych – Proces ETL w hurtowni danych 36 Kierunki badawcze (1) • Kierunki badawcze (2) ETL czasu (prawie) rzeczywistego: – – • • – 37 Kierunki badawcze (3) • określenie możliwości zmiany kolejności operacji przy niezmienionym wyniku całego procesu określenie najlepszej sekwencji operacji w kategoriach wydajności całego procesu Hurtownie danych – Proces ETL w hurtowni danych • przykład (za A. Simitsis, P. Vassiliadis, T. Sellis: Optimizing ETL Processes in Data Warehouses) • • • Hurtownie danych – Proces ETL w hurtowni danych 38 Bibliografia Optymalizacja procesu ETL (cd): – modelowanie procesu ETL jako przepływu pracy, ale bez możliwości jego optymalizacji gwarantowany czas odpowiedzi systemu na zapytania użytkowników gwarantowany poziom świeżości danych do analiz Hurtownie danych – Proces ETL w hurtowni danych • np. optymalizacja problemu wyszukiwania duplikatów propozycja – optymalizacja procesu ETL jako całości : • uniknięcie zmniejszenia efektywności działania źródła danych przez konieczność udziału w operacjach procesu ETL zapewnienie odpowiedniego poziomu obsługi (ang. quality of service – QoS): – – optymalizacja poszczególnych kroków procesu jako oderwanych od siebie czynności » zapewnienie możliwie małego zaangażowania źródeł danych w proces ETL – podejście dotychczasowe: • przykład: hurtownia dla operatora telekomunikacyjnego: 10 źródeł, 2TB danych, ok. 3 miliardy rekordów, użytkownicy potrzebują danych sprzed co najwyżej 2 godzin cel: dostarczenie użytkownikowi danych tak świeżych jak to tylko możliwe problemy: • Optymalizacja procesu ETL: – motywacja: użytkownicy żądają coraz "świeższych" danych • – • 39 Matthias Jarke, Maurizio Lenzerini, Yannis Vassiliou, Panos Vassiliadis: Fundamentals of Data Warehouses. Springer-Verlag Berlin Heidelberg 2003 Erhard Rahm, Hong Hai Do: Data Cleaning: Problems and Current Approaches Joyce Bischoff, Ted Alexander: Data Warehouse. Practical Advice From Experts. Prentice Hall, 1997 Aliks Simitsis, Panos Vassiliadis, Timos Sellis: Optimizing ETL Processes in Data Warehouses Hurtownie danych – Proces ETL w hurtowni danych 40