BD2 BazyDanych2 dr inż. Tomasz Traczyk 14. Systemy przetwarzania analitycznego ³ Copyright c Tomasz Traczyk Instytut Automatyki i Informatyki Stosowanej Politechniki Warszawskiej Materiały dydaktyczne przeznaczone są wyłącznie do indywidualnego użytku studiujących. Rozpowszechnianie kopii bez pisemnej zgody autora jest zabronione. Literatura [1] Poe, Klauer, Brobst: Tworzenie hurtowni danych, WNT 1999 [2] Garcia-Molina, Ullman, Widom: Implementacja systemów baz danych, WNT 2003 1
Systemy przetwarzania analitycznego Cele przetwarzania analitycznego Chęć wykorzystania zgromadzonych danych w procesie decyzyjnym Potrzeba tworzenia analiz obejmujących całość działań organizacji Pożądane cechy Scalenie danych z różnych źródeł Duża wydajność analizy (możliwe analizy interaktywne) Przechowywanie i udostępnianie historii (np. do porównań) Typowe zastosowania danych analitycznych OLAP(On Line Analytical Processing) interaktywne analizowanie trendów i zależności weryfikacja hipotez głównie analiza wielowymiarowa Eksploracja danych(data mining) pozyskiwanie z danych nowych, nieznanych przedtem informacji i zależności Systemy informowania kierownictwa (EIS Executive Information Systems) prezentacja informacji syntetycznych, do zarządzania strategicznego interaktywna, z dużym udziałem grafiki 2
Operacyjne i zbiorcze bazy danych Dane operacyjne Rozproszone Heterogeniczne W niewłaściwym układzie Trudne do wydajnej analizy Bez historii(dane aktualne) Zwykle niezbyt wielkie(mb..gb) Transakcyjne ³ Zwykle znormalizowane Nie nadają się do celów analitycznych Zbiorcza baza danych hurtownia danych Scentralizowana baza danych Oddzielona od baz operacyjnych Scala informację z wielu źródeł Utrzymuje wielką ilość informacji(gb..tb) Gromadzi dane historyczne Dostosowana do przetwarzania analitycznego Agreguje informację zdenormalizowana Hurtownia danych(data warehouse, magazyn danych) Cechy hurtowni Zorientowana tematycznie(subject oriented) Zintegrowana(integrated) Trwała(nonvolatile) Przechowująca historię(time variant) 3
Hurtownie i składnice danych Hurtownia danych(data warehouse) Niezależna od zastosowania Scentralizowana Zawiera historię Dane mało zagregowane Dane mało zdenormalizowane Wiele źródeł danych: dane operacyjne i zewnętrzne ³ Składnice danych (data marts, tematyczne h.d.) Specyficzne dla zastosowania Przeznaczone dla określonych użytkowników Dane silnie zagregowane Dane silnie zdenormalizowane Dane w różnych składnicach powtarzają się Niewiele źródeł danych (albo jedno: centralna hurtownia) Architektura systemu analitycznego Przykład System z centralną hurtownią i składnicami danych Hurtownia danych Składnica danych Transformacja Składnica danych Ekstrakcja Ekstrakcja OLTP OLTP 4
Dane w hurtowni Rodzaje danych w hurtowni Elementarne(kopie źródłowych) Historyczne Agregaty różne stopnie agregacji Metadane opisują np. strukturę i znaczenie danych zastosowane agregacje źródła danych(i/lub transformację) historię ładowania danych uwzględniają zmienność wykorzystywane m.in. do sterowania procesami zasilania zarządzania zmianami ³ Cykl życia danych w hurtowni Zasilanie danymi wsadowo przyrostowo Agregacja tworzenie zmaterializowanych agregatów Archiwizacja przeniesienie do historii zwijanie(rolling aggregates) Usuwanie danych tylko wyjątkowo Proces ETL (Extraction Transformation Loading) Ekstrakcja z baz operacyjnych Transport Transformacja: czyszczenie, konwersja, scalanie Ładowanie do hurtowni Analiza wielowymiarowa Dane wielowymiarowe Wymiary dyskretne hierarchiczne przykłady: czas, produkt, sprzedawca Fakty zawierają miary przykłady miar: wielkość sprzedaży, wartość sprzedaży,% reklamacji Przykład Analiza sprzedaży Produkt Czas Wielkość sprzedaŝy Typowe operacje Obracanie(pivoting) zmiana perspektywy oglądania danych Selekcja wybór interesujących elementów wymiarów Wycinanie(slice and dice) selekcja elementów wybranych wymiarów(wycięcie plastra ) zmniejszenie liczby wymiarów projekcja danych w pozostałych wymiarach(z agregacją) Zwijanie(roll-up) i rozwijanie(drill-down) nawigacja po hierarchii wymiaru z agregacją/dezagregacją Ranking uszeregowanie elementów wymiaru wg wzrostu/spadku agregatu miary 5
Typowe struktury wymiarów Struktura gwiaździsta(starnet) Struktura płatek śniegu(snowflake) Region Oddział Sprzedawca Produkt Rodzaj StaŜ Cena Region Kolor Oddział Rodzaj Sprzedawca Produkt Kraj ³ Rynek SprzedaŜ Dzień Miesiąc Kwartał Rok Płeć Zawód Kraj SprzedaŜ Dzień Rynek Miesiąc Tydzień Kwartał Rok Przykład Tabela przestawna(pivot table) Operacje wielowymiarowe Dane źródłowe Projekcja Semestr Przedmiot Wariant Liczba Kierunek chętnych 04L BD3 A SI 12 04L BD3 A WD 60 04L BD3 B SI 59 04L BD3 B WD 6 04L KBD3 A SI 15 04L KBD3 A WD 20 04L KBD3 B SI 44 04L KBD3 B WD 4 04Z BD3 A SI 7 04Z BD3 A WD 50... Wycinanie Semestr 04L Liczba chętnych Kierunek Przedmiot Wariant SI WD Suma BD3 A 12 60 72 B 59 6 65 KBD3 A 15 20 35 B 44 4 48 Suma 130 90 220 Semestr (Wszystkie) Liczba chętnych Kierunek Przedmiot Wariant SI WD Suma BD3 A 38 169 207 B 183 32 215 KBD3 A 42 76 118 B 100 20 120 Suma 363 297 660 Zwijanie Semestr 04L Liczba chętnych Kierunek Przedmiot Wariant SI WD Suma BD3 71 66 137 KBD3 59 24 83 Suma 130 90 220 6
OLAP(On-line Analytical Processing) Zadania OLAP Prezentacja wielowymiarowych widoków danych Interaktywne zapytania i analizy Obliczanie agregatów Analiza statystyczna, analiza trendów, prognozowanie, modelowanie Wykresy ³ Duża szybkość działania Wymagania wobec analitycznej b.d. Efektywne przetwarzanie analityczne wielkiej ilości danych Efektywne przetwarzanie wielowymiarowe Narzędzia OLAP Arkusze kalkulacyjne, np. Excel Narzędzia do budowy aplikacji analitycznych, np. Business Objects, Oracle Discoverer, Oracle Express Gotowe rozwiązania dla typowych problemów, np. Oracle Sales Analyzer Rozwiązania techniczne systemów OLAP ROLAP(Relational OLAP) Zbudowane w relacyjnej b.d. Wielka objętość danych(tb) Złożone struktury Problemy z wydajnością Łatwa modyfikacja danych Stosowane dla centralnych hurtowni MOLAP(Multidimensional OLAP) Specjalne serwery wielowymiarowe Mniejsze objętości danych(gb) Naturalna reprezentacja struktur wielowymiarowych Modyfikacje danych kosztowne Stosowane często dla składnic danych HOLAP(Hybrid OLAP) Integracja rozwiązań ROLAP i MOLAP współdziałające bazy: relacyjna i wielowymiarowa włączenie rozwiązań MOLAP do relacyjnego DBMS 7
Denormalizacja w bazach analitycznych Denormalizacja wymiarów Hierarchię wymiarów zwija się do jednej tabeli Znacznie ogranicza to liczbę złączeń Przykład Denormalizacja wymiaru ³ PRZEDMIOTY NAZWA WAR_PRZ_FK WARIANTY_PRZEDMIOTOW KOD_WARIANTU NAZWA PROWADZACY WARIANTY KOD_WARIANTU PROWADZACY Materializacja agregatów Przechowywanie agregatów(sum, średnich itp.) często używanych w analizach w dodatkowych kolumnach lub tabelach w zmaterializowanych perspektywach Wyliczanie agregatów asynchronicznie okresowo synchronicznie Ziarnistość agregacji graniczna wgrupach Użycie agregatów zmaterializowanych zamiast wyliczanych na bieżąco przez narzędzia OLAP przez optymalizator zapytań Zalecenie projektowe 14.1 Projektując struktury relacyjne do celów analitycznych należy śmiało stosować denormalizację. Struktury danych baz analitycznych Struktury danych w bazach ROLAP Schemat gwiaździsty bardzo typowy dla ROLAP z denormalizacją wymiarów kluczgłównywtabelifaktówjest złożeniem kluczy obcych do tabel wymiarów Schemat wielogwiaździsty klucz główny w tabeli faktów zawiera klucze obce do tabel wymiarów dodatkowe kolumny możezatemistniećwielefaktówdlatej samej kombinacji wartości wymiarów Płatek śniegu bez denormalizacji wymiarów Wielokrotne tabele faktów wiele tabel faktów wspólne wymiary Konstelacja wiele schematów gwiaździstych Przykład Gwiazda WARIANTY_PRZEDMIOTOW SEMESTRY KOD_WARIANTU NAZWA PROWADZACY ZAP_WPR_FK ZAP_SEM_FK ZAPISY KOD_WARIANTU ID_SEMESTRU ID_KIERUNKU LICZBA_CHETNYCH LICZBA_ZAPISANYCH ZAP_KIE_FK KIERUNKI ID_KIERUNKU NAZWA ID_SEMESTRU 8
Problemy budowy struktur hurtowni danych Problemy modelowania Trudność ustalenia celu biznesowego hurtowni Problemy zmienności Zmiany w schematach baz operacyjnych Ewolucja schematu hurtowni Ewolucja słowników ³ Problemy wydajności VLDB Analiza wielowymiarowa zapytania gwiaździste Zalecenie projektowe 14.2 Projektując struktury hurtowni danych należy korzystać z dostępnych w użytym DBMS środków technicznych dedykowanych dla VLDB i baz analitycznych. Środki techniczne dla ROLAP Ładowanie danych Instrukcje INSERT ALL FIRST i MERGE (z warunkami) Tabele zewnętrzne Partycjonowanie danych Partycjonowanie tabel i indeksów automatyczny zapis do partycji optymalizacja zapytań z użyciem partycji Materializowanie agregatów Zmaterializowane perspektywy (materialized views) Przepisywanie zapytań(query rewrite) Specjalne techniki indeksowania Indeksy bitowe Indeksy złączeniowe Wykonywanie zapytań Optymalizacja zapytań gwiaździstych Zarządzanie zasobami DBMS przeciwdziałanie runaway queries Ograniczenia integralności Dane ładowane do hurtowni są sprawdzane w procesie ETL Nie ma potrzeby utrzymywania spójności za pomocą więzów w bazie danych Stosowanie ograniczeń integralności po stronie DBMS można poważnie ograniczyć klucze główne ewentualnie klucze obce Ograniczenia typu RELY widziane przez aplikacje analityczne jako obowiązujące używane przez optymalizator do przepisywania zapytań(mogą dotyczyć także perspektyw) niesąwalidowaneprzezdbms ( zawierza się procesowi ETL) 9