Plan wykładu Wielowymiarowy model danych 1. Model danych 2. Analiza wielowymiarowa 3. Model wielowymiarowy: koncepcja wymiarów i faktów 4. Operacje modelu wielowymiarowego 5. Implementacje modelu wielowymiarowego: ROLAP, MOLAP i HOLAP Hurtownie danych, wykład Bartosz Bębel E-mail: bartosz.bebel@cs.put.poznan.pl 2 Model danych Analiza wielowymiarowa Określa sposób reprezentacji danych w bazie danych Analizowanie danych w różnych perspektywach (wymiarach) Składniki modelu danych: Cel: wyszukanie interesujących tendencji, trendów w danych struktury przechowujące dane dane ograniczenia dla danych operacje wykonywane na danych Przykłady: model relacyjny model obiektowy model wielowymiarowy Scenariusz przykładowej analizy: 1. Analityk porównuje zagregowane dane o sprzedaży poszczególnych kategorii produktów spożywczych (pieczywo, nabiał, itd.) w w sklepach sieci Tesco w ostatnim kwartale 2008 r. i pierwszym kwartale 2009 r. 2. Analityk zauważa, że sprzedaż produktów z kategorii słodycze w ostatnim kwartale 2008 r. znacznie przewyższa pod względem liczby sprzedanych sztuk sprzedaż tej samej kategorii w pierwszym kwartale 2009 r. 3. Analityk odczytuje dane o sprzedaży słodyczy w poszczególnych miesiącach ostatniego kwartału 2008 r. 4. Analityk zauważa gwałtowny wzrost sprzedaży słodyczy w grudniu 2008 r. 5. 3 4
Analiza jednowymiarowa Zwiększanie liczby wymiarów (1) Relacyjne bazy danych informacje analizowane w jednej perspektywie, dane przechowywane w relacjach strukturach jednowymiarowych przykład: relacja Sklepy: Nazwa sklepu Miasto Sprzedaż Aldi Kalisz 8015 Biedronka Kalisz 7061 Lidl Swarzędz 10107 Real Poznań 16438 Tesco Poznań 27109 Jak dodać dodatkowe perspektywy (wymiary) analiz? Dwie perspektywy: wielkość sprzedaży produktów w poszczególnych sklepach struktura dwuwymiarowa Sklepy Sprzedaż Produkty Bułki Chleb Mleko Ser Sok Aldi Kalisz 5498 980 670 87 780 Biedronka Kalisz 4511 876 710 54 910 Lidl Swarzędz 7621 874 501 92 1019 Real Poznań 11032 1502 1780 109 2015 Tesco Poznań 15604 2032 3545 278 5650 Czy jest możliwe zapisanie struktury dwuwymiarowej w postaci jednowymiarowej relacyjnej? 5 6 Zwiększanie liczby wymiarów (2) Zwiększanie liczby wymiarów (3) Nazwa sklepu Miasto Produkt Sprzedaż Aldi Kalisz Bułki 5498 Dodatkowa informacja: okres, w którym sprzedano produkty w poszczególnych sklepach struktura trójwymiarowa Aldi Kalisz Chleb 980 Aldi Kalisz Mleko 670 Aldi Kalisz Ser 87 Aldi Kalisz Sok 780 Biedronka Kalisz Bułki 4511 Biedronka Kalisz Chleb 876 Biedronka Kalisz Mleko 710 Biedronka Kalisz Ser 54 Sklepy Produkty Sprzedaż w styczniu 2008 r. Bułki Chleb Mleko ProduktySer Sok Sprzedaż w lutym 2008 r. Aldi Kalisz 5498 980 670 87 780 Bułki Chleb Mleko Produkty Ser Sok Biedronka Sprzedaż Konin w marcu 2008 r. 4511 876 710 54 910 Aldi Kalisz 5498 980 670 87 780 Bułki Chleb Mleko Ser Sok Lidl Swarzędz 7621 874 501 92 1019 Biedronka Konin 4511 876 710 54 910 Real Aldi Poznań Kalisz 11032 1502 5498 1780 980 109 670 2015 87 780 Lidl Swarzędz 7621 874 501 92 1019 Tesco Biedronka Poznań Kalisz 15604 2032 4511 3545 876 278 710 5650 54 910 Real Poznań 11032 1502 1780 109 2015 Lidl Swarzędz 7621 874 501 92 1019 Tesco Poznań 15604 2032 3545 278 5650 Real Poznań 11032 1502 1780 109 2015 Sklepy Sklepy Tesco Poznań 15604 2032 3545 278 5650 7 8
Zwiększanie liczby wymiarów (4) Wartości zagregowane Dodanie kolejnej perspektywy struktura 4-wymiarowa Problem: znajdź sumaryczną sprzedaż bułek we wszystkich sklepach Ogólnie: n perspektyw analiz struktura n-wymiarowa, tzw. n-wymiarowa kostka danych 9 10 Kategorie informacji Fakt i miara Fakt Sklepy Produkty Sprzedaż Bułki Chleb Mleko Ser Sok Aldi Kalisz 5498 980 670 87 780 Biedronka Kalisz 4511 876 710 54 910 Lidl Swarzędz 7621 874 501 92 1019 Real Poznań 11032 1502 1780 109 2015 Tesco Poznań 15604 2032 3545 278 5650 Wymiary Fakty i miary zdarzenie, którego cechy podlegają analizie przykład: transakcja sprzedaży produktu w sklepie wykonanie rozmowy telefonicznej Miara analizowana cecha faktu najczęściej numeryczna i addytywna rzadko tekstowa (opisowa) przykłady: dla faktu transakcja sprzedaży produktu w sklepie : liczba sztuk sprzedanego produktu w ramach transakcji, cena sprzedaży produktu w ramach transakcji dla faktu wykonanie rozmowy telefonicznej : czas trwania, koszt rozmowy 11 12
Wymiar Informacja opisująca fakt Przykłady: produkt opisuje cechy sprzedanego towaru lokalizacja opisuje miejsce sprzedaży produktu czas opisuje moment dokonania sprzedaży Hierarchia wymiaru Wymiar może mieć strukturę hierarchiczną, elementem tej struktury jest poziom wymiaru Wyróżnione poziomy w hierarchii wymiaru: poziom bazowy najniższy poziom hierarchii: artykuł, sklep, dzień poziom szczytowy najwyższy poziom hierarchii: kategoria, województwo, rok Hierarchia wymiaru definiuje ścieżki agregacji wymiaru 13 14 Instancja wymiaru (1) Instancja wymiaru (2) Zbiór wartości poziomów w hierarchii wymiaru Przykłady: Przykłady (cd): 15 16
Struktura w modelu wielowym. podsumowanie Operacje modelu wielowymiarowego Struktura n-wymiarowa kostka danych Wykonywane przez analityków w celu: ograniczenia rozmiaru danych wydobycia z danych interesujących informacji dostosowania sposobu prezentacji danych do własnych potrzeb Operacje modelu wielowymiarowego: 1. zwijanie (ang. roll-up) 2. rozwijanie (drążenie) (ang. drill-down) 3. filtrowanie (ang. screening, filtering) 4. wycinanie (ang. slice-and-dice) 5. obracanie (ang. pivoting) 17 18 Operacja 1. Zwijanie Operacja 2. Rozwijanie (drążenie) Wykonuje nawigowanie w górę struktury hierarchii wymiarów Wykonuje nawigowanie w dół struktury hierarchii wymiarów Umożliwia analizowanie danych o większym stopniu agregacji (danych o mniejszej szczegółowości) (danych o mniejszej szczegółowości) Umożliwia analizowanie danych o mniejszym stopniu agregacji (danych o większej szczegółowości) (danych o większej szczegółowości) Przykład: Jest operacją odwrotną w stosunku do zwijania Przykład: 19 20
Operacja 3. Filtrowanie Ograniczenie zakresu analizowanych danych przez zdefiniowanie warunku Przykład: pokaż sprzedaż produktów w tych sklepach, w których średnia wartość transakcji przekroczyła 100 zł Operacja 4. Wycinanie Ograniczenie zakresu analizowanych danych do wybranych wymiarów, a w ramach wymiarów do określonych instancji wymiarów Przykład: 21 22 Operacja 5. Obracanie Implementacje modelu wielowymiarowego Zmiana orientacji wymiarów w kostce danych przez użycie jednego wymiaru jako zmiennej niezależnej Przykład: ROLAP implementacja relacyjna MOLAP implementacja wielowymiarowa HOLAP implementacja hybrydowa 23 24
ROLAP Cechy ROLAP (1) Relacyjny OLAP (ang. Relational OLAP) Wykorzystuje rozszerzony model relacyjny: implementacja kostki modelu wielowymiarowego za pomocą: relacji faktów przechowuje fakty i miary relacji wymiaru przechowuje dane wymiarów implementacja operacji modelu wielowymiarowego przy pomocy standardowych operatorów relacyjnych języka SQL: selekcja projekcja połączenie operatory zbiorowe Przechowywane dane są najczęściej nieprzetworzone są to tzw. dane elementarne Zalety: dobra skalowalność przy dużych rozmiarach danych duża efektywność procesu aktualizacji danych dane składowane w relacjach możliwość wykorzystania szerokiego spektrum narzędzie raportujących (niekoniecznie przeznaczonych tylko dla OLAP) Wady: w przypadku konieczności przechowywania agregatów konieczne zaprojektowanie dodatkowych struktur danych i wykonania dodatkowego przetwarzania trudność implementacji i mała efektywność realizacji operacji, które nie są łatwo wyrażalne w języku SQL 25 26 Cechy ROLAP (2) ROLAP schemat gwiazdy (1) Możliwość wykorzystania różnych schematów implementacji: schemat gwiazdy (ang. star schema) schemat płatka śniegu (ang. snowflake schema) schemat z konstelacją faktów (ang. fact constellation schema) schemat gwiazda-płatek śniegu (ang. starflake schema) Wybór schematu implementacji zależy od profilu danych oraz rodzajów analiz Struktura: centralna relacja faktów zdenormalizowane relacje wymiarów, każdy wymiar implementowany przez jedną relację wymiaru 27 28
ROLAP schemat gwiazdy (2) Zalety: prostota struktury skutkuje utworzeniem prostego schematu bazy danych go schematu bazy danych duża efektywność wykonywania zapytań analitycznych dzięki małej liczbie połączeń relacji Wady nieprzejrzysta struktura hierarchii wymiarów potencjalne problemy przy uaktualnianiu zawartości relacji wymiarów (z powodu ich denormalizacji) Stosowany najczęściej, gdy: wszystkie poziomy wymiarów są wykorzystywane w analizach dane wymiarów są rzadko aktualizowane ROLAP schemat płatka śniegu (1) Struktura: centralna relacja faktów znormalizowane relacje poziomów każdy poziom w hierarchii wymiaru implementowany przez osobną relację 29 30 ROLAP schemat płatka śniegu (2) ROLAP schemat z konstelacją faktów Zalety: przejrzysta struktura hierarchii wymiarów łatwe uaktualnianie danych wymiarów (dzięki normalizacji) oszczędność miejsca składowania danych wymiarów (dzięki normalizacji) Wady: spadek efektywności wykonywania zapytań analitycznych przez konieczność realizacji wielu połączeń wzrost poziomu złożoności schematu bazy danych Stosowany najczęściej, gdy: poziomy niżej w hierarchii wymiarów częściej analizowane w porównaniu z poziomami wyżej w hierarchii konieczność częstego uaktualniania danych wymiarów Struktura: kilka relacji faktów niektóre relacje wymiarów są współdzielone przez relacje faktów Stosowany, gdy: konieczne jest analizowanie miar różnych klas faktów 31 32
ROLAP schemat gwiazda-płatek śniegu (1) ROLAP schemat gwiazda-płatek śniegu (2) Stosowany, gdy: wymiary są wykorzystywane w analizach w różnym stopniu: rzadziej analizowane wymiary jako znormalizowane efektywniejsze wykorzystanie miejsca składowania danych kosztem mniejszej efektywności wykonywania zapytań analitycznych często analizowane wymiary jako zdenormalizowane efektywne wykonywanie zapytań analitycznych kosztem mniejszej efektywności wykorzystania miejsca składowania danych dane wymiarów aktualizowane z różną częstotliwością: dane wymiarów znormalizowanych często aktualizowane dane wymiarów zdenormalizowanych rzadko aktualizowane Struktura: centralna relacja faktów część wymiarów w postaci zdenormalizowanej część wymiarów w postaci znormalizowanej 33 34 ROLAP implementowanie agregatów (1) ROLAP implementowanie agregatów (2) Relacja faktów wartości miar przechowywane jako dane elementarne bądź o bardzo niskim stopniu agregacji, np.: średnia cena produktu w ramach transakcji sprzedaży liczba produktów w ramach transakcji Odpowiedź: Typowe zapytanie analityczne: Podaj sumaryczną liczbę sztuk produktów 1. Wyliczenie sprzedanych wyniku z danych w ramach transakcji realizowanych w drugiej szczegółowych połowie 2008 konieczność r. odczytania i podsumowania wartości dużego zbioru rekordów 2. Wykorzystanie uprzednio wyliczonych agregatów Agregat wyliczone w procesie agregacji i trwale składowane w relacjach zbiorczych wartości, zastępujące dane szczegółowe w odpowiedzi na zapytania analityczne (synonim: dane zbiorcze) Agregacja proces wstępnego wyliczenia agregatów z danych szczegółowych oraz ich przechowywanie celem późniejszego wykorzystania Relacja zbiorcza: powinna zapewniać skrócenie czasu odpowiedzi na zapytania analityczne powinna przechowywać tylko te agregaty, które rzeczywiście są potrzebne (np. najczęściej analizowane) musi być pielęgnowana dodanie nowych danych elementarnych może prowadzić do konieczności ponownego wyliczenia agregatów 35 36
ROLAP implementowanie agregatów (3) MOLAP Wielowymiarowy OLAP (ang. Multidimensional OLAP) Implementacja kostki danych modelu wielowymiarowego wielowymiarowa tablica Operacje modelu wielowymiarowego realizowane bezpośrednio na danych wielowymiarowych Przechowywane dane są wstępnie przetworzone (zagregowane); poziom agregacji danych wyższy niż w ROLAP 37 38 Cechy MOLAP HOLAP Zalety: wysoka efektywność realizacji zapytań analitycznych automatyczne wyliczanie i składowanie danych zagregowanych mniejszy rozmiar danych w porównaniu z implementacją ROLAP (szczególnie w przypadku wymiarów o małej liczności) Hybrydowy OLAP (ang. Hybrid OLAP) Połączenie ROLAP z OLAP: dane elementarne i o niskim poziomie agregacji składowane jako ROLAP dane o wysokim poziomie agregacji składowane jako MOLAP Wady: zła skalowalność w przypadku danych o dużych rozmiarach mała efektywność realizacji zapytań analitycznych w sytuacji wymiarów o dużej liczności konieczność wstępnego przetworzenia danych (agregacji) brak jednolitego standardu 39 40