MOLAP – Multidimensional OLAP

Transkrypt

MOLAP – Multidimensional OLAP
41. Opisz architekturę, właściwości i zagadnienia związane z
następującymi kategoriami narzędzi OLAP: MOLAP, ROLAP i HOLAP.
MOLAP – Multidimensional OLAP
MOLAP jest alternatywą dla ROLAP. Główną różnicą pomiędzy nimi jest to, że MOLAP potrzebuje
przechowywania wcześniej wyliczonych danych w kostce wielowymiarowej, a nie w relacyjnej bazie
danych.
Zalety:
•
•
Wyśmienita wydajność. Kostki MOLAP są stworzone do szybkiego przetwarzania danych,
są zoptymalizowane do „krojenia” kostki w plastry i kostki.
Może wykonywać skomplikowane obliczenia. Wszystkie obliczenia są wykonywane gdy
kostka jest tworzona. W związku z tym złożone operacje nie są przeprowadzane, tylko jest
szybko zwracany wcześniej wyliczony wynik.
Wady:
•
•
•
Ograniczona ilość danych, która może być obsłużona. Ponieważ wszystkie obliczenia są
wykonywane gdy kostka jest tworzona, to nie jest możliwe wrzucanie olbrzymich ilości danych
w kostkę. Ten problem można rozwiązać poprzez wykonywania obliczeń tylko w wąskim
zakresie podczas tworzenia kostki. Przykładowo przeliczane są tylko te dane które się
zmieniły, a nie cała kostka
Wymaga dodatkowych inwestycji. Wdrażanie technologii MOLAP może wymagać
dodatkowych inwestycji w ludzi oraz sporego kapitału.
Narzędzia MOLAP często mają problemy zapytując wielowymiarową bazę danych
zawierającą wielkie ilości elementów w zbiorach.
ROLAP – Relational OLAP
Architektura ROLAP została oparta o relacyjne bazy danych, które służą do przechowywania
„wirtualnych kostek danych”. Typowym sposobem przechowywania takich kostek danych jest
schemat gwiazdy, schemat płatka śniegu lub inna wielowymiarowa struktura zorientowana w bazie
relacyjnej.
Silnik ROLAP jest warstwą logiczną, która tłumaczy żądania użytkownika na zapytania SQL. Możliwe
są dwa skrajne sposoby działania:
•
•
Silnik ROLAP kieruje zapytania do danych źródłowych w relacyjnych bazach danych i
dokonuje niezbędnych agregacji danych oraz wykonuje obliczenia na bieżąco, by utworzyć
podsumowania i przedstawić wyniki użytkownikom w wielowymiarowym formacie.
W procesie ETL (ang. Extraction, Transformation & Load process- ETL) dane z zasobów
pierwotnych są ładowane do relacyjnej hurtowni danych oraz wykonywane są niezbędne
agregacje – natomiast silnik ROLAP kieruje zapytania SQL do danych źródłowych i częściowo
zagregowanych w relacyjnej hurtowni danych.
Częściej stosowany jest drugi z tych sposobów. Po zdefiniowaniu modelu hurtowni danych, dane z
zasobów pierwotnych (systemów OLTP (ang. On-Line Transactional Processing) lub obszaru
pośredniego) są ładowane do bazy relacyjnej. Jeżeli model danych wymaga tego, wykonywane są
procedury agregacji danych. Następnie w celu zoptymalizowania czasu wykonywania zapytań
tworzone są indeksy. Użytkownik zleca wykonanie analiz wielowymiarowych silnikowi ROLAP, który
dynamicznie transformuje żądanie na zapytania SQL. Zapytania są przesyłane do silnika RDBMS,
przetwarzane, a rezultat wielowymiarowy zostaje zwrócony użytkownikowi. Obliczenia agregujące
wykonywane są przez silnik ROLAP i silnik RDBMS (dodatkowe tablice) oraz na stacji użytkownika.
Pierwotnie SQL był projektowany dla jednowymiarowych zapytań zorientowanych transakcyjnie, a nie
dla złożonych zapytań wielowymiarowych. Architektura ROLAP musi przekroczyć te ograniczenia
standardowego SQL generując wielokrotne zapytania SQL (ang. multipass SQL). Wymaga to, dla
zachowania rezultatów każdego przejścia, stosowania w relacyjnej bazie danych wielu tablic
pośrednich.
Generalnie architektura ROLAP cechuje się:
•
•
•
•
•
organizacją danych w strukturze „gwiazdy”, „płatka śniegu”, „konstelacji faktów”, „gwiazdy
skaskadowanej” umieszczonej w relacyjnej bazie danych,
agregacją danych w hurtowni danych lub na bieżąco,
wykonaniem operacji transformowanych na zapytanie SQL,
dostępem do danych sumarycznych jak i do danych szczegółowych
szerokim zakresem realizacji zapytań wyspecyfikowanych jak i ad hoc.
Zalety:
•
•
Może obsługiwać bardzo duże ilości danych. Limit danych w ROLAP jest limitem danych w
relacyjnej bazie danych na której jest oparty.
Funkcjonalność relacyjnej bazy danych.
Wady:
•
•
Słaba wydajność. Ponieważ każdy raport ROLAP jest właściwie zapytaniem SQL (lub
wielokrotnym zapytaniem SQL) w relacyjnej bazie danych, to czas wykonania zapytań może
być długi jeśli kryje się za nim duża ilość danych.
Ograniczone przez funkcjonalność SQL. Ponieważ technologia ROLAP głównie opiera się na
generowaniu zapytań SQL do relacyjnej bazy, a SQL nie spełnia wszystkich potrzeb (np. jest
trudno wykonać złożone obliczenia korzystając z SQL), dlatego technologie ROLAP są zwykle
ograniczone przez to co SQL może zrobić.
HOLAP – Hybrid OLAP
Technologie HOLAP dokonują połączenia zalet MOLAP i ROLAP. HOLAP wykorzystuje kostki do
uzyskania większej wydajności. Gdy potrzebne są szczegółowe informacje, HOLAP może wwiercać
się z kostki do położonej niżej relacyjnej bazy danych.
42. Omów implementację modelu wielowymiarowego w systemach
ROLAP. Opisz tabele faktów i wymiarów.
Fakty:
•
informacje podlegające analizie
ƒ sprzedaż, rozmowy telefoniczne
ƒ charakteryzowane ilościowo za pomocą miar
ƒ liczba sprzedanych sztuk towaru, czas trwania rozmowy
Wymiary:
•
•
ustalają kontekst analizy
ƒ sprzedaż czekolady (produkt) w Auchan (sklep) w poszczególnych miesiącach roku (czas)
składają się z poziomów, które tworzą hierarchię
Schemat gwiazdy - jedna tabela faktów w środku oraz tabele wymiarów po bokach (po jednej dla
każdego wymiaru.
Schemat płatka śniegu - powstaje po zastosowaniu normalizacji do tabeli wymiarów schematu
gwiazdy.
•
Część wymiarów znormalizowanych
ƒ poziomy wyższe wykorzystywane rzadko
ƒ oszczędność miejsca
•
Część wymiarów zdenormalizowanych
ƒ wszystkie poziomy wymiarów wykorzystywane często
ƒ większa efektywność zapytań
W celu skrócenia czasu potrzebnego na wyznaczenie wyników zapytania, relacje bazy danych są
często denormalizowane, na przykład zawierają wartości zagregowane, są wynikiem połączenia wielu
innych relacji.