Hurtownie danych

advertisement
Hurtownia danych:
(ang. data warehouse) to:
• uporządkowany tematycznie
• zintegrowany
• zawierający wymiar czasowy
• nieulotny
zbiór danych wspomagających podejmowanie decyzji.
Często dodaje się jeszcze jeden punkt:
•
Hurtownia danych ma wspomagać przetwarzanie informacji dla
celów strategicznych i analitycznych
(w przeciwieństwie do systemów transakcyjnych realizujących
przetwarzanie dla celów operacyjnych)
1
Hurtownia danych – rodzaj bazy danych, która jest
zorganizowana i zoptymalizowana pod kątem pewnego wycinka
rzeczywistości.
Hurtownia danych jest wyższym szczeblem abstrakcji niż zwykła
relacyjna baza danych (choć do jej tworzenia używane są także
podobne technologie).
W skład hurtowni wchodzą zbiory danych zorientowanych
tematycznie (np. hurtownia danych klientów).
Dane te często pochodzą z wielu źródeł, są one zintegrowane i
przeznaczone wyłącznie do odczytu.
2
W praktyce hurtownie są bazami danych integrującymi
wszystkie pozostałe systemy bazodanowe w firmie.
Polega ona na cyklicznym zasilaniu hurtowni danymi systemów
produkcyjnych.
Może być tych baz lub systemów dużo i mogą być rozproszone
- dla każdego z nich niezbędne jest więc odpowiednie
przeformatowanie danych i ich oczyszczenie, tylko wówczas
dane zgromadzone w hurtowni będą stanowiły solidną podstawę
do wykonywania miarodajnych analiz.
3
Architektura hurtowni danych:
W hurtowniach danych możemy wyróżnić nastepujące architektury:
- schemat gwiazdy:
4
Schemat gwiazdy jest najprostszym modelem hurtowni danych.
Jego nazwa wzięła się z wyglądu schematu danych, w którym w
centralnym miejscu znajduje się tabela faktów otoczona przez
tabele wymiarów.
Dane w tabeli faktów powinny być znormalizowane do trzeciej
postaci normalnej, natomiast tabele wymiarów są zwykle
zdenormalizowane przy czym dla każdego z wymiarów może
występować tylko jedna zdenormalizowana tabela.
Tabela faktów składa się z dwóch typów kolumn:
- kolumy zawierające wartości numeryczne o danym fakcie tzw.
miary
- kolumny z kluczami obcymi do tablic wymiarów
5
Klucz główny tabeli faktów składa się z jej wszystkich kolumn z
wyłączeniem kolumn opisujących miary.
Tabela faktów może zawierać informacje o faktach na poziome
detalicznym lub zagregowanym.
Tabele wymiarów są strukturami złożonymi często z jednej lub
więcej hierarchii, które służą do kategoryzowania danych.
Oprócz kluczy głównych tabele faktów zawierają pola z
atrybutami opisującymi dany wymiar. Wielkość tabeli faktów
jest znacznie większa od tabel wymiarów.
Architektura gwiazdy umożliwia przeglądanie poszczególnych
danych z podziałem na kategorie, agregację, sumowanie, oraz
filtrowanie.
6
Schemat gwiazdy dla sprzedaży nieruchomości w firmie
WymarzonyDom:
7
- schemat płatka śniegu
Schemat płatka śniegu jest bardziej złożoną wersja schematu
gwiazdy ponieważ tabele które opisują wymiary są
znormalizowane - każdy wymiar może mieć kilka własnych
wymiarów.
Używany przede wszystkim w sytuacjach gdy mamy do
czynienia z bardzo złożonymi wymiarami oraz aby lepiej
odzwierciedlić sposób myślenia użytkowników o danych.
W praktyce często stosuje się kombinacje schematu płatka
śniegu i gwiazdy poprzez normalizacje jednych wymiarów i
denormalizację innych (jak w schemacie konstelacji faktów).
8
9
- schemat konstelacji faktów
Schemat konstelacji faktów stanowi rozwiązanie pośrednie
między gwiazdą a płatkiem śniegu.
W schemacie tym część tabel wymiarów jest znormalizowanych
a część zdenormalizowanych oraz zwykle występuje więcej niż
jedna tabela faktów.
Ponadto tabele faktów są ze sobą powiązane w relacji 1:1 lub 1:n
oraz mogą współdzielić te same tabele wymiarów.
10
Miara a wymiar:
różnica między nimi polega na tym, że miara zawiera wartości
liczbowe, natomiast wymiar wartości opisowe (tekstowe) danej
charakterystyki.
Np. jeśli chcemy opisać sprzedaż samochodów to ilość
sprzedanych samochodów to miara, natomiast marka to wymiar.
Wymiary są informacjami referencyjnymi i określają kontekst
analiz miar. W modelu wielowymiarowym każda miara jest
powiązana z kilkoma wymiarami.
Wymiar najczęściej posiada strukturę hierarchiczną, określającą
sposób agregacji wartości skojarzonych z nim miar.
11
Najbardziej typową hierarchią wymiaru jest hierarchia bazująca na
poziomach, posiada powiązania referencyjne typu parent-child
pomiędzy wystąpieniami wymiaru, które umożliwiają grupowanie
członków wymiaru w poziomy, np. dni tygodnia przypisujemy do
jednego poziomu, tygodnie do drugiego a miesiące do trzeciego.
W sytuacji gdy hierarchia posiada powiązania typu parent-child ale
nie posiada poziomów mamy do czynienia z wymiarem bazującym
na wartościach, np. dla każdego pracownika możemy wyznaczyć
jego kierownika, jednak grupowanie tak wyznaczonych
kierowników nie będzie miało większego sensu bo kierownika
załóżmy zespołu zajmującego się sprzedażą nie można porównać z
kierownikiem dyrektora regionu sprzedaży.
Jeśli wymiar nie posiada hierarchii i poziomów, nosi nazwę
wymiaru płaskiego lub listy.
12
Architektura bazy hurtowni jest zorientowana na optymalizację
szybkości wyszukiwania i jak najefektywniejszą analizę
zawartości. Stąd bywa, że hurtownie danych nie są realizowane
za pomocą relacyjnych baz danych, gdyż takie bazy ustępują
szybkością innym rozwiązaniom.
W zależności od rodzaju hurtowni dane w jej rekordach mogą
być zagregowane lub zawierać nawet informacje szczątkowe.
Oznacza to, że pewne dane w hurtowni nie są przechowywane w
postaci rozdrobnionej a tylko jako ich suma.
13
Architektura hurtowni danych wg. motorów baz danych
Silniki baz danych hurtowni danych opartych na koncepcji
wielowymiarowej kostki OLAP możemy podzielić na:
- ROLAP-Relational OLAP.
W rozwiązaniu tym dane odczytywane są z zewnętrznych tablic
relacyjnych przez co polecenia użytkownika w postaci zapytań
SQL do danych elementarnych i zagregowanych muszą zawsze
trafić do RDBMS. Serwer analityczny (kostka) wykorzystywany
jest wyłącznie jako warstwa pośrednia między klientem a RDBMS.
Struktura ROLAP zapewnia wolniejszy dostęp do danych w
porównaniu do MOLAP i HOLAP. Wykorzystywana dla dużych
zbiorów danych o stosunkowo rzadkim użyciu.
14
- MOLAP-Multidimensional OLAP. Charakteryzuje się tym, że
dane są przechowywane w wielowymiarowej bazie danych w
postaci wielowymiarowych tablic – kostek (ang. multidimensional
array, datacube) zawierających dane o różnym stopniu agregacji.
Wielowymiarowa struktura jest w stanie zapewnić najszybszy dostęp
do danych. Jest najbardziej odpowiednia dla danych o częstym
użyciu i wysokich wymaganiach odnośnie czasu odpowiedzi.
- HOLAP-Hybrid OLAP. Kobinacja rozwiązań ROLAP i MOLAP.
Wykorzystuje się tu jednocześnie wielowymiarowe(dane
zagregowane) oraz relacyjne(dane elementarne, bez dublowania)
bazy danych. Zapytania drążące są wykonywane wolniej ponieważ
działają na strukturze relacyjnej. Dane w HOLAP mają zwykle
mniejszy rozmiar. Struktury HOLAP są przeznaczone dla potrzeb
szybkiego dostępu do agragacji bazujących na dużych zbiorach
danych.
15
Kostka wielowymiarowa (Multidimensional OLAP Cube)
Wielowymiarowa kostka OLAP (cube) jest podstawową strukturą
danych w każdym systemie OLAP działającym w środowisku
Hurtowni Danych.
Cube składa się z Miar (Measures), Wymiarów (Dimensions) i
Poziomów (Levels) i jest zoptymalizowany pod kątem szybkiego i
bezpiecznego dostępu do danych wielowymiarowych.
Miary to wskaźniki numeryczne (ile?), natomiast wymiary
reprezentują dane opisowe (kto? co? kiedy? gdzie?). Wymiary są
pogrupowane za pomocą poziomów, które odzwierciedlają
hierarchię funkcjonującą w organizacji i pozwalają użytkownikom
końcowym zwiększać lub zmniejszać poziom szczegółowości
analizowanego wymiaru.
16
Z reguły w hurtowni danych jest zdefiniowanych co najmniej
kilkanaście wymiarów, a najczęściej spotykanym i wymiarami są:
• Czas
• Klient
• Produkt
• Lokalizacja
• Biuro Sprzedaży
Hierarchia każdego z wymiarów ustawiona jest za pomocą Poziomów.
Przykładowo, hierarchia poziomów może być ułożona w następujący
sposób:
• wymiar Czas: Rok -> Kwartał -> Miesiąc -> Tydzień -> Dzień
• Klient: Grupa klientów -> Nazwa klienta
• Produkt: Linia Produktu -> Grupa Produktu -> Produkt
• Lokalizacja: Obszar -> Region -> Kraj
17
Kategorie to elementy danych które opisują poziomy w wymiarach.
Przykładowo, dla wymiaru Lokalizacji, w hurtowni danych zostały
ustawione poziomy obszaru, regionu i kraju. W tym przykładzie dla
Polski kategoriami będą:
• Obszar - Europa
• Region - Europa Środkowa
• Kraj - Polska
Typowe, najczęściej występujące Miary w hurtowniach danych to:
•
•
•
•
•
•
Przychód netto
Przychód brutto
Waga
Ilość
Koszt
Upust
18
Hurtownie danych - spotykane najczęściej w średnich i dużych
firmach, gdzie ilości składowanych informacji liczone są w
dziesiątkach, setkach gigabajtów. Głównym celem ich tworzenia
jest wspomaganie przetwarzania informacji dla celów
strategicznych i analitycznych (systemy wspomagające
podejmowanie decyzji).
Dobrze zaprojektowana hurtownia danych to solidna podstawa
dla systemów analitycznych i źródło informacji do
podejmowania decyzji w przedsiębiorstwie. Błędy w projekcie
hurtowni spowodują natomiast załamanie całego systemu
informowania, a ich późniejsze usunięcie może być bardzo
kosztowne.
19
Przedsiębiorstwo:
Współczesne, sprawnie funkcjonujące przedsiębiorstwo powinno
umieć odpowiedzieć na kilka zasadniczych pytań dotyczących
swej działalności.
Przygotowanie
odpowiednich
raportów
prezentujących
całościowy obraz działalności firmy jest jednym z
najważniejszych
aspektów
sprawnego
funkcjonowania
przedsiębiorstwa.
Na podstawie takich zbiorczych danych można właściwie
planować działalność firmy i podejmować decyzje na przyszłość.
20
Hurtownie danych stały się również istotnym narzędziem
wspomagającym sprzedaż, marketing, promocje a nawet sposób
wystawiania towarów w sektorze handlu.
Wykorzystując analizę danych dziesiątek tysięcy nawet setek
tysięcy transakcji dla tysięcy oferowanych produktów, można
ściśle określić preferencje klientów i zależności pomiędzy
produktami.
Wszystkie te działania przekładają się na wymierne wyniki
finansowe, znacznie przewyższające koszty wdrożenia hurtowni
danych.
21
Hurtownia danych gromadzi dane ze wszystkich systemów
działających w obrębie organizacji, stanowi więc źródło analiz w
kontekście całej działalności. Dane zorganizowane są pod kątem
dostarczania w jak najkrótszym czasie rzetelnych informacji o
aktualnym stanie firmy.
22
Hurtownia danych nie jest więc systemem, który można kupić "z
półki". Skoro ma wspomagać realizację strategicznych celów
organizacji - musi być zaprojektowana ze szczególnym
położeniem nacisku na strategię firmy.
Głównym beneficjentem takiego systemu jest kadra
zarządzająca oraz kierownictwo średniego szczebla, analitycy. To
przede wszystkim ich potrzeby powinna zaspokajać hurtownia
danych.
Zasadniczym motywatorem projektu hurtowni danych jest
możliwość śledzenia najistotniejszych z punktu widzenia
organizacji wskaźników (rentowność produktów czy klientów,
ryzyko kredytowe, poziom zadowolenia klienta, rotacja klientów,
jakość procesu produkcyjnego itd.), a nie objęcie zakresem
systemu zadań wynikających z realizacji w przedsiębiorstwie
pewnych konkretnych procesów gospodarczych.
23
Zbierane dane są uzgadniane, konsolidowane i
przechowywane w jednolitej formie w hurtowni danych,
gdzie otrzymują zrozumiałe i intuicyjne nazwy oraz opisy
tworząc proste i czytelne informacje.
Informacje w hurtowni mogą być uzupełnione o plany lub
prognozy, a także złożone wskaźniki automatycznie
wyliczane z informacji bazowych. Odpowiednie narzędzia
przekształcają te informacje w wiedzę prezentowana w
postaci raportów, wykresów, tabel, kostek danych. Wiedza
ta trafia za pośrednictwem sieci lokalnych lub Internetu do
odpowiednich użytkowników.
24
Przepływ informacji w hurtowni danych:
25
Przykłady pytań na jakie można odpowiedzieć
dzięki zastosowaniu hurtowni danych:
• Jak kształtuje się sprzedaż w poszczególnych okresach czasu; na
tej podstawie można sprawdzić czy sprzedaż rośnie czy maleje,
kiedy była największa, a kiedy najmniejsza i wyciągnąć
odpowiednie wnioski.
• Który z klientów kupuje najwięcej, a który najmniej w
wybranych okresach czasu. Pozwoli to na zastosowanie
odpowiednich promocji, skierowanie ofert do określonych
klientów.
• Który z oddziałów firmy prosperuje najlepiej, a który najgorzej.
26
• Jak pracują akwizytorzy, który może pochwalić się
największą sprzedażą.
• Jak kształtuje się sprzedaż w rozbiciu na grupy towarowe w
poszczególnych okresach czasu z uwzględnieniem
konkretnych klientów.
• Którzy klienci płacą regularnie, a którzy zalegają z
płatnościami, ile zalegają, ile zalegają z uwzględnieniem
naliczonych odsetek.
• W którym mieście sprzedaż jest największa.
• Które produkty sprzedają się najlepiej.
27
Czy też inne:
• Jaki był ogólny dochód w województwie małopolskim w
trzecim kwartale 2015 roku?
• Jaki był ogólny dochód ze sprzedaży nieruchomości dla
każdego typu nieruchomości w całym kraju w 2015 roku?
• Jakie trzy dzielnice były najbardziej popularne wśród
wynajmujących nieruchomości w każdym mieście w 2015
roku i jakie zaszły zmiany w stosunku do wyników z
poprzednich dwóch lat?
• Jakie rodzaje nieruchomości sprzedawane są powyżej średnich
cen sprzedaży nieruchomości w głównych miastach i jakie są
tu korelacje z danymi demograficznymi?
28
Korzyści z korzystania z hurtowni danych:
Korzystanie z odpowiednio skonstruowanej hurtowni danych i
stworzonych na jej podstawie raportów pozwala na:
• zwiększenie obrotów dla produktów;
• ograniczenie promocji towarów, które dobrze się sprzedają;
• zmniejszenie stanów lub usunięcie towarów wolno rotujących
na półkach;
• zmniejszenie odpływu klientów mało aktywnych (poprzez
zastosowanie w odpowiednim momencie promocji lub
określonej atrakcyjnej oferty);
• zmniejszenie wszelkich zadłużeń;
• tworzenie 'inteligentnych' kampanii, dzięki którym można
zmniejszyć koszty marketingowe.
29
Ryzyko projektu budowy Hurtowni Danych:
Hurtownia danych obejmuje całą działalność firmy - jest więc
systemem bardzo złożonym. Praktyka wskazuje, że wraz ze
złożonością
systemu
rośnie
ryzyko
niepowodzenia
przedsięwzięcia.
Jak można zatem sobie pomóc, aby minimalizować ryzyko
niepowodzenia projektu, czyli jakie podjąć działania aby osiągnąć
zakładane korzyści w zakładanym czasie?
Są to przede wszystkim:
• ścisła współpraca z użytkownikami,
• sensowne planowanie przedsięwzięcia
zarówno od strony
merytorycznej, jak i technicznej, oraz
• iteracyjny cykl wdrażania systemu.
30
Czynniki sukcesu:
Kiedy warto myśleć o budowie hurtowni danych?
Warunkiem koniecznym jest istnienie systemu (lub systemów)
stanowiących źródło danych dla hurtowni danych, czyli
wspomnianych Systemów Zarządzania Przedsiębiorstwem.
Określa się jeszcze kilka czynników pozwalających ocenić poziom
przygotowania organizacji do uruchomienia projektu budowy
hurtowni danych.
Wśród najważniejszych należy wymienić cztery:
31
1. Dostępność źródeł danych.
Ideałem byłoby, gdyby w organizacji istniało jedno,
udokumentowane, wewnętrzne, zautomatyzowane źródło
danych odpowiadających potrzebom informacyjnym
organizacji. Niestety zazwyczaj mamy do czynienia z
wieloma nieudokumentowanymi, zewnętrznymi,
niezautomatyzowanymi źródłami. Nie uniemożliwia to
jeszcze budowy hurtowni danych - jedynie podnosi ryzyko
takiego przedsięwzięcia i zapewne jeśli tylko mamy wybór
warto w pierwszej kolejności zająć się budową rozwiązań
automatyzujących codzienną pracę, a dopiero później myśleć
o hurtowni danych.
32
2. Świadomość odbiorców systemu co do informacji, które
chcą z niego otrzymywać i jasne powiązanie tych informacji z
potencjalnymi korzyściami gospodarczymi dla organizacji.
Bez takiego powiązania możemy zbudować "fantastyczny"
system, ale nie wnoszący żadnej wartości dodanej.
3. Zakres – którym można zarządzać i tak go dzielić na kolejne
fragmenty systemu aby były one wykonalne w czasie 3-4
miesięcy oraz były ściśle powiązane z korzyściami dla
organizacji.
33
4. Umocowanie projektu – Budowa hurtowni danych jest
w gruncie rzeczy przedsięwzięciem biznesowym i do
tego sterowanym potrzebami informacyjnymi o
strategicznym znaczeniu. W związku z tym bez
zaangażowania ze strony kierownictwa organizacji
trudno będzie mówić o powodzeniu projektu.
Zazwyczaj sytuacja odbiega nieco od ideału. Analiza
organizacji pod kątem powyższych czynników jest sposobem
zwrócenia uwagi na istotne problemy, mogące wystąpić
podczas budowy hurtowni danych.
34
Dodatkowym problemem, jakże często występującym w wielu
organizacjach jest niska jakość danych.
Jakość informacji uzyskiwanych z hurtowni danych zawsze
będzie adekwatna do jakości danych źródłowych. Nie oznacza
to oczywiście, że "wyczyszczenie" danych źródłowych nie jest
możliwe - oczywiście, w większości przypadków daje się to
zrobić, często jednak wymaga to dodatkowej pracy
użytkowników jak również zespołu realizującego hurtownię
danych.
35
Projektowanie hurtowni danych:
Metoda dziewięciu kroków:
•
•
•
•
•
•
•
•
•
Wybór procesu;
Wybór poziomu szczegółowości;
Identyfikacja i uzgodnienie wymiarów;
Wybór faktów;
Umieszczenie wstępnych obliczeń w tabeli faktów
Zaokrąglanie tabeli wymiarów
Wybór zakresu czasowego bazy danych;
Śledzenie wolno zmieniających się wymiarów;
Określenie priorytetów zapytań i trybów zapytań.
36
Schemat gwiazdy dla sprzedaży nieruchomości w firmie
WymarzonyDom:
37
Model związków encji dla rozszerzonej wersji projektu
WymarzonyDom:
38
Model wielowymiarowy dla hurtowni danych WymarzonyDom:
39
Inne przykłady hurtowni danych:
Comarch:
http://www.comarch.pl/
http://www.comarch.pl/erp/business-intelligence-comarcherp/uslugi-business-intelligence/hurtownie-danych/
Projekt „Elektroniczna Platforma Gromadzenia, Analizy i
Udostępniania zasobów cyfrowych o Zdarzeniach Medycznych"
(P1):
http://p1.csioz.gov.pl/11
40
Rozproszone bazy danych
Rozproszona baza danych to zbiór powiązanych baz danych, które
rozproszone są w sieci komputerowej.
Rozproszony system baz danych to zbiór oprogramowania, które
umożliwia administrowanie rozproszoną bazą danych.
Rozproszeniem jest również połączenie kilku komputerów
klienckich do jednej bazy danych.
41
Schemat połączenia oddziałów firmy
42
Architektura klient – serwer
43
Technika replikacji w rozproszonej bazie danych
Replikacja danych - kopia całości lub jakiejś części danych
przechowywanych w innej części całej bazy danych, co zwiększa
dostępność danych.
Kopia całej bazy danych jest przechowywana w każdym węźle
rozproszonej bazy danych. Jest to szczególnie bezpieczne
rozwiązanie, ponieważ w razie awarii jednego z węzłów dane
mogą zostać szybko odzyskane z innego węzła.
Przykładem zastosowania replikacji danych jest wymiana i
wzajemne uzupełnianie się danych pomiędzy centralną
przychodnią, a jej oddziałami. Wszystkie dane powstające i
przechowywane w centrali i filiach przychodni podlegają
nieustannym zmianom.
44
Zastosowanie replikacji w medycynie
45
Zastosowanie replikacji w medycynie
W każdej z filii do bazy danych dopisywane są nowe indeksy.
Siedziby tych przychodni znajdują się w różnych miejscach,
więc każda z nich ma swoją bazę danych. Istnieje tyle baz
danych, ile jest filii przychodni. Ich bazy danych różnią się
zawartością danych. Replikacja danych integruje wszystkie
dane z oddziałów przychodni, aby w każdy węźle była taka
sama zawartość bazy danych.
Dzięki takiemu rozwiązaniu zastosowaniu uzyskujemy
zwiększenie szybkości przetwarzania zapytań, ponieważ są one
przetwarzane w lokalnym węźle. Nie ma potrzeby wysyłania
zapytań poza przychodnię.
46
Technika replikacji w rozproszonej bazie danych
Największą wadą replikacji jest częste przeprowadzanie
aktualizacji, ponieważ zawartość bazy danych musi być taka
sama w każdym węźle rozproszonej bazy danych. Powoduje
to spowolnienie całego systemu, szczególnie, gdy jest wiele
węzłów.
Aby replikacja mogła poprawnie pracować wymagana jest
jednolita struktura danych. Centrala i wszystkie oddziały
firmy muszą przechowywać dane według identycznego
schematu.
47
Bezpieczeństwo baz danych:
Mechanizm zabezpieczający bazę danych przed przypadkowym
lub celowym zagrożeniem, jak np.:
• kradzież i defraudacja;
• utrata poufności (tajności)
danych (dane o kluczowym
znaczeniu dla instytucji);
• utrata prywatności (dane osób prywatnych);
• brak integralności (powstanie niespójnych
lub błędnych
danych);
• uniemożliwienie dostępu.
48
Zabezpieczenia systemowe:
• Uprawnienia;
• Perspektywy (użytkownik nie jest świadom istnienia atrybutów i
wierszy, które nie znajdują się w perspektywie – bardziej
ograniczony dostęp niż do relacji z odpowiednimi prawami);
• Składowanie
(wykonywany okresowo proces tworzenia kopii
bazy danych i pliku dziennika na dodatkowych nośnikach
pamięci) i odtwarzanie (w razie awarii kopia archiwalna i
szczegóły zapisane w dzienniku służą do odtworzenia spójnego,
jak najbardziej aktualnego stanu bazy danych );
• Integralność
(więzy integralności zapobiegają wystąpieniu
niepoprawnych danych, które mogłyby spowodować
wygenerowanie);
• Szyfrowanie (symetryczne i niesymetryczne);
49
Download