Wykład 7 Wojciech Pieprzyca Systemy Baz Danych Wykład 7 Wojciech Pieprzyca
Aplikacje analityczne Aplikacje analityczne wykorzystywane są dla potrzeb wspomagania podejmowania decyzji oraz odkrywania i eksploracji danych. Aplikacje analityczne wykorzystują dane historyczne przechowywane w hurtowni danych. Przykładowe wyniki działania aplikacji analitycznych mogą dotyczyć np. trendów sprzedaży poszczególnych towarów, rozkładu sprzedaży w poszczególnych województwach, itp. Działania odbywają się na dużych zasobach danych (miliony rekordów), czas wykonania zapytania analitycznego może być liczony w godzinach.
Wielowymiarowy model danych Dane w hurtowniach danych zorganizowane są w postaci wielowymiarowego modelu danych. Model wielowymiarowy składa się z: faktów – określających informacje, które są poddawane analizie np. sprzedaż produktu, wymiarów – charakteryzujących miary w których podawane są wyniki przetwarzania danych np. ilość sztuk produktu. Wymiary ustalają kontekst analizy np. analiza sprzedaży towarów w poszczególnych miesiącach lub wg. lokalizacji,itp. Wymiar może być wielopoziomowy np. oddział, miasto, województwo.
Implementacje wielowymiarowego modelu danych Najczęściej model wielowymiarowy implementowany jest na jeden z trzech poniższych sposobów: ROLAP (Relational Online Analytical Processing) – implementacja w bazach relacyjnych, fakty i wymiary przechowywane są w tabelach relacyjnych, MOLAP (Multidimensional Online Analytical Processing) implementacja w bazach wielowymiarowych, dane przechowywane w wielowymiarowych tabelach (tzw. kostkach), HOLAP (Hybrid Online Analytical Processing) – implementacja hybrydowa, dane podstawowe przechowywane w tabelach relacyjnych, dane zaagregowane przechowywane w kostkach.
Implementacja ROLAP Implementacja w postaci tabel relacyjnych. Najczęściej używane schematy: schemat gwiazdy (ang. star schema) schemat płatka śniegu (ang. snowflake schema) schemat gwiazda-płatek śniegu (ang. starflake schema)
Implementacja ROLAP Schemat gwiazdy Tabele Oddzialy, Produkty i Czas nazywane są tabelami wymiarów. Tabela centralna (Sprzedaz) to tabela faktów. Atrybuty miar to wartosc, sztuk. Tabele wymiarów mogą być w tym modelu nie znormalizowane.
Implementacja ROLAP Schemat płatka śniegu W tym schemacie tabele wymiarów muszą być znormalizowane (co najmniej 3 postać normalna).
Schemat gwiazda-płatka śniegu Implementacja ROLAP Schemat gwiazda-płatka śniegu Część wymiarów ma postać znormalizowaną, a część występuje bez normalizacji. W przykładzie, wymiar Oddzialy jest znormalizowany, a pozostałe wymiary nie są znormalizowane.
Implementacja MOLAP W implementacji MOLAP do przechowywania danych wykorzystywane są wielowymiarowe tablice, które zawierają przetworzone dane (np. zaagregowane średnie, sumy, itp.). W poniższym przykładzie tabela zawiera 3 wymiary: oddziały, czas oraz produkty. Dzięki takiemu podejściu możemy uzyskać informacje np. na temat sprzedaży określonego produktu w danym oddziale w przeciągu danego roku.
Operatory MOLAP Analizę wielowymiarowego modelu danych ułatwiają operatory wyspecyfikowane do przeprowadzania operacji na modelach wielowymiarowych. Jednym z takich operatorów jest operator wyznaczania punktu centralnego tzn. wybierania kostki modelu podlegającego analizie. Operator ten działa dwuetapowo: określenie miary np. ilość sztuk, określenie wymiarów pod względem których miara będzie analizowana (np. oddział=Gdańsk, czas=2006, produkt=monitory).
Operatory MOLAP Operator rozwijania – wejście w głąb danego wymiaru w celu przeprowadzenia dokładniejszej analizy danych (np. informacje o sprzedaży w kolejnych miesiącach danego roku).
Operatory MOLAP Operator zwijania – przejście z widoku szczegółowego na widok bardziej globalny. Operacja ta prowadzi do grupowania i agregacji danych (np. grupowanie i agregowanie danych dotyczących dwóch oddziałów w jeden zbiór danych).
Operatory MOLAP Operator obrotu – pozwala na prezentowanie danych w różnych układach. Nie zmienia to wyników analizy, jednak może zwiększyć ich czytelność dla użytkownika.
Operatory MOLAP Operator wycinania – zawęża zakres analizowanych danych do wybranego wymiaru. Przykładowo mogą nas interesować wyniki sprzedaży zgrupowane tylko względem produktów (bez podziału na lata i oddziały) lub też liczba sprzedanych produktów w określonym roku, itp.