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

Podobne dokumenty