Hurtownie danych wykład 3 dr Sebastian Zając SGH Warszawa 7 lutego 2017
Architektura relacyjna i wielowymiarowa Ze względu na przechowywanie danych na serwerze możemy zdecydować się na relacyjną bazę danych (RDB Relational Database), bądź też na wielowymiarową bazę danych (MDDB Multidimensional Database). Relational OLAP Dane przechowywane są w tabelach relacyjnych, przy czym schemat odzwierciedla wielowymiarową strukturę danych.charakterystyczne dla tego podejścia są schematy: gwiazdy, płatka śniegu oraz konstelacji faktów.
Multidimensional OLAP Dane przechowywane w wielowymiarowych tablicach, zwanych też kostkami danych. Rozróżniamy dwa rodzaje baz wielowymiarowych: disk based oraz RAM based. Zalety: bardzo wysoka wydajność wyszukiwania i prezentacji danych.naturalna budowa struktur wielowymiarowych Wady: bardzo mała elastyczność - Jeśli chcemy dodać lub zmodyfikować kostkę trzeba ją usunąć i stworzyć od nowa. Bardzo niska skalowalność co powoduje, iż zalecana jest dla nie za dużych danych. Hybrid OLAP Oba podejścia mają wady i zalety - stąd pomysł na połączenie obu podejść. W tym rozwiązaniu dane przechowywane są tabelach na serwerze relacyjnym, zaś przetwarzanie danych realizowane jest na serwerze wielowymiarowym.
Co to jest OLAP Zadanie: dostarczenie informacji strategicznej i prezentowanie w prosty i w intuicyjny do zrozumienia sposób. Narzędzia: bazy danych oraz zaawansowane modele matematyczne. Podstawą modelu OLAP są: Fakty fact - informacje podlegające analizie, opisujące proces biznesowy, charakteryzowane ilościowo za pomocą miar np: sprzedaż, rozmowa telefoniczna... Charakteryzują się dużym wolumenem danych (TB). Wymiary dimension - ustalają kontekst analizy np. produkt, sklep, czas itp. Mogą składać się z poziomów, które tworzą hierarchię.
W modelu wielowymiarowym analizujemy fakty wzdłuż wymiarów. Fakt to pojedyncze zdarzenie - podstawa naszej analizy (np. sprzedaż, fakt wzięcia kredytu, wykonanie przelewu) będąca zbiorem miar (numeryczne wartości opisujące zdarzenie). Wartości miar zależą ściśle od wymiarów, po których analizowane są dane. Wymiarami analizy najczęściej są : produkt, klient, obszary sprzedaży, data sprzedaży (czas) Miara jest reprezentowana jako punkt w n-wymiarowej przestrzeni wymiarów. Wymiary opisywane są zbiorami atrybutów (atrybuty mogą tworzyć hierarchie).
Kostka OLAP - wielowymiarowa baza danych Koncepcyjnie model OLAP można przedstawić jako hiper -kostkę, która w swoim wnętrzu zawiera miary, natomiast wymiary stanowią jej brzegi. Ze względu, iż analizy danych dotyczą różnych poziomów szczegółowości wymiary posiadają najczęściej wewnętrzną strukturę ułatwiającą przechodzenie od ogółu do szczegółu np. czas: lata miesiące dni, państwa miasta województwa obszary Ze względu na ograniczenia trójwymiarowej przestrzeni, zaprezentować na rysunku można kostkę co najwyżej trzy-wymiarową. W rzeczywistości analizuje się od pięciu do siedmiu wymiarów.
Kostka OLAP
Operacje na kostkach: Rozwijanie (Roll-down) schodzenie na niższy poziom hierarchii wymiaru, czyli przejście od ogółu do szczegółu. Np przejście z widoku sprzedaży rocznej na kwartalną, miesięczną bądź dzienną. Zwijanie (Roll-up) wchodzenie na wyższy poziom hierarchii wymiaru, czyli przejście od szczegółu do ogółu. np sprzedaż poszczególnych towarów zmieniamy na sprzedaż kategorii produktów. Drążenie (drill through) przeglądanie danych szczegółowych dotyczących konkretnego podsumowania.
Selekcja (Slice) wycinanie fragmentu danych przez określenie warunków na wartościach wymiarów oraz listy wymiarów branych pod uwagę w raporcie (podkostka) np dwuwymiarowy plaster (slice) - pozostałe wymiary są rzutowane (agregowane). Ze względu na dużą przejrzystość tabel dwuwymiarowych efekty raportów to selekcje z kostki.
Filtrowanie ograniecznie się do prezentacji tylko tych danych, które spełniają zdefiniowane przez użytkownika warunki na wartościach miar lub atrybutach wymiaru. W przeciwieństwie do selekcji filtrowanie nie dotyczy odrzucania całych wymiarów a jedynie ogranicza ich zakres. Obracanie (pivot, rotate) zmiana orientacji (kolejności wymiarów) kostki. W przypadku arkusza dwu wymiarowego obracanie to inaczej transpozycja (zamiana wierszy i kolumn) często poprawia czytelność otrzymanych wyników. Wybór n górnych miejsc bądź n górnych procent. Korzystamy gdy chcemy wybrać np. dziesięć najlepiej sprzedających się produktów w podanym roku bądź 5
Drill-down
Rotating, slicing,dicing
Model punktowy Przed stworzeniem logicznego modelu danych (gwiazda, płatek śniegu) należy uzgodnić model pojęciowy. Jedną z przykładowych technik modelowania na tym etapie jest Model Punktowy: Fakty reprezentowane są punktami wymiary reprezentowane są przez nazwy podobnie reprezentujemy kolejne poziomy hierarchi Model może obejmować wiele faktów, korzystając częściowo ze wspólnej hierarchii wymiarów
Model punktowy
Model punktowy W modelu punktowym zapisujemy informacje na temat: Nazwy atrybutów Typy danych więzy integralności Retrospekcja (zmienności wartości atrybutów w czasie) Częstości odświeżania Pochodzenia danych Metadane biznesowe Retrospekcje dzielimy na: prawdziwa - zapisujemy wszystkie zmiany wartości z dokładnym czasem fałszywa - nowe wartości zastępują stare trwała - nie przewidujemy zmian wartości
ROLAP Relacyjna implementacja dla OLAP PROBLEMY: Zidentyfikowanie faktów Zidentyfikowanie kluczowych wymiarów Zaprojektowanie tabel faktów Zaprojektowanie tabel wymiarów
ROLAP Zidentyfikowanie faktów Należy wskazać kluczowe typy transakcji w systemie produkcyjnym, realizujące kluczowe operacje w zależności od branży: handel - transakcja sprzedaży, bankowość - kursy walut, operacje na kontach, ubezpieczenia - zgłoszenie szkody, zakup polisy, giełda - wahania kursów akcji, operacje giełdowe opieka zdrowotna - wynik leczenia, przyjęcie pacjenta, forma leczenia, telekomunikacja - realizacja rozmowy, zmiana abonamentu, zawarcie umowy
ROLAP Zidentyfikowanie wymiarów Należy kluczowe wymiary dla określonych wcześniej faktów handel - analiza sprzedaży w miastach i okresach czasowych bankowość - Wahania kursów w poszczególnych dniach, analiza przyrostu nowych rachunków w poszczególnych miesiącach, rodzaje rachunków ubezpieczenia - analiza przyrostu spadku/wzrostu ilości polis w poszczególnych miastach i w miesiącach giełda - wahania kursów akcji w poszczególnych dniach i dla każdej z firm, ilość transakcji w jednostce czasu i łączne kwoty operacji telekomunikacja - analiza rozkładu rozmów poszczególnych klientów w czasie doby
Projektowanie tabeli faktów Poziom szczegółowości informacji rozmiar tabeli faktów: rejestrowanie kwoty zakupu pojedynczego produktu rejestrowanie sumarycznej kwoty zakupu całego koszyka rejestrowanie sumarycznej kwoty zakupu w tygodniu Horyzont czasowy danych jak długo przechowywać informacje na najwyższym poziomie szczegółowości? co ze starszymi danymi - strategia agregacji
Projektowanie tabeli faktów Właściwy zbiór atrybutów Czy atrybut wnosi nową wiedzę o fakcie (usuń jeśli nie) czy wartość atrybutu można wyliczyć (usuń i wylicz) minimalizacja rozmiarów atrybutów
klucze podstawowe i sztuczne Klucze naturalne np. nr rejestracyjny, Vin, NIP, Pesel... klucze sztuczne - generowane automatycznie przez system np. nr klienta, nr transakcji, id produktu połączenie tabeli wymiaru i faktów za pomocą klucza podstawowego-obcego zapytania kierujemy wyłącznie do tabeli faktów.
Schematy wielowymiarowych danych w ROLAP 1 schemat gwiazdy 2 schemat płatka śniegu 3 schemat konstelacji faktów
schemat gwiazdy
schemat płatka śniegu
schemat konstelacji