1 Plan wykładu 2 Hurtownie danych Integracja danych za pomocą hurtowni danych Przetwarzanie analityczne OLAP Model wielowymiarowy Implementacje modelu wielowymiarowego ROLAP MOLAP Odświeżanie hurtowni danych Efektywność przetwarzania OLAP Cechy systemów informatycznych 3 Problematyka integracji danych 4 Składowanie, przetwarzanie i zapewnienie efektywnego dostępu do danych w przedsiębiorstwie Akutalny stan technologiczny systemów informatycznych heterogeniczność rozproszenie Heterogeniczność wielość struktur danych różna funkcjonalność różne modele danych Rozproszenie dane są rozmieszczone w geograficznie różnych lokalizacjach DB2 aplikacje operacyjne Access FoxPro Excel XML heterogeniczność i rozproszenie źródeł Oracle plik
Hurtownia danych 5 Systemy komercyjne 6 Bardzo duża baza danych (dziesiątki, setki TB) Charakterystyka: dane są wyłącznie odczytywane przez użytkowników zawiera dane historyczne i bieżące zawiera dane zagregowane na wielu poziomach zawartość jest zorientowana tematycznie Oracle8i, Oracle9i, Oracle10g Oracle Corporation, DB2 UDB IBM, SybaseIQ Sybase, Inc., SAS Enterprise BI Server - SAS Institute MS SQL Server Microsoft, SAP Business Warehouse SAP, Adabas C i Adabas D Software AG, Teradata NCR Corporation, Hyperion Essbase OLAP Server Hyperion Solutions Corporation Red Brick Warehouse Red Brick Systems Podstawowa architektura HD 7 Oprogramowanie ETL 8 ŹRÓDŁA DANYCH WARSTWA POŚREDNIA OPROGRAMOWANIE ETL HURTOWNIA DANYCH APLIKACJE ANALITYCZNE HURTOWNIA DANYCH integrator Raporty Ekstrakcja Transformacja Czyszczenie Agregacja HURTOWNIA DANYCH konwerter monitor k m k m k m k m plik XML Excel Hurtownie tematyczne Analizy finansowe i statystyczne DB2 Access źródło źródło źródło źródło źródło
Przetwarzanie analityczne OLAP (1) 9 Przetwarzanie analityczne OLAP (2) 10 Aplikacje analityczne wspomagania decyzji eksploracji danych Zorientowane na wspieranie procesów decyzyjnych wykonywanie zaawansowanych analiz, wspomagających zarządzanie przedsiębiorstwem, np. analiza trendów sprzedaży analiza nakładów reklamowych i zysków analiza ruchu telefonicznego Operacje łączenia (kilka, kilkanaście, kilkadziesiąt tabel), filtrowania, agregowania (np. suma, średnia) Dostęp do ogromnych wolumenów danych (miliony, dziesiątki, setki milionów rekordów) Czas realizacji zapytań analitycznych: godziny, dziesiątki godzin Problem efektywności, czasu odpowiedzi na zapytanie OLAP Wielowymiarowy model danych (1) 11 Wielowymiarowy model danych (2) 12 Dane zorganizowane w postaci wielowymiarowego modelu danych (ang. multidimensional data model) fakty wymiary Fakty informacje podlegające analizie sprzedaż, rozmowy telefoniczne, ubezpieczenia charakteryzowane ilościowo za pomocą miar liczba sprzedanych sztuk towaru, czas trwania rozmowy, kwota ubezpieczenia Wymiary ustalają kontekst analizy, np. sprzedaż czekolady (produkt) w Auchan (sklep) w poszczególnych miesiącach roku (czas) składają się z poziomów, które tworzą hierarchię zależności hierarchiczne między poziomami tworzą tzw. strukturę wymiaru LOKALIZACJA województwa miasta Poznań Wielkopolska Konin sklepy Auchan Selgros Auchan Tesco
Implementacje wielowymiarowego MD 13 Implementacja ROLAP 14 ROLAP - implementacja w serwerach relacyjnych fakty przechowywane w tabelach faktów wymiary przechowywane w tabelach wymiarów MOLAP - implementacja w serwerach wielowymiarowych dane przechowywane w wielowymiarowych tabelach (ang. data cubes), zwanych potocznie kostkami HOLAP - implementacja hybrydowa (relacyjnowielowymiarowa) dane elementarne przechowywane w tabelach dane zagregowane przechowywane w kostkach Schematy podstawowe gwiazda (ang. star schema) płatek śniegu (ang. snowflake schema) Schematy pochodne konstelacja faktów (ang. fact constellation schema) gwiazda-płatek śniegu (ang. starflake schema) Schemat gwiazdy 15 Schemat płatka śniegu 16
17 Schemat gwiazda-płatek śniegu 18 Schemat konstelacji faktów 19 Implementacja MOLAP 20 Operatory MOLAP (1) Wyznaczanie punktu centralnego (określanie kostki) wskazanie miary wskazanie wymiarów, w których miara będzie prezentowana
Operatory MOLAP (2) 21 Operatory MOLAP (3) 22 Rozwijanie Zwijanie Operatory MOLAP (4) 23 Operacje MOLAP (5) 24 Obracanie Wycinanie
Odświeżanie hurtowni (1) 25 Odświeżanie hurtowni (2) 26 Źródła danych nieprzerwanie zmieniają swoją zawartość Konieczność uaktualniania zawartości hurtowni danych Dostępność danych aktualnych jakość wyników analiz decyzje biznesowe Rodzaje odświeżania pierwsze zasilenie pustej hurtowni odświeżanie w trakcie eksploatacji odświeżanie okresowe Realizowane przez procesy ETL Zagadnienia techniczne Jak odświeżać (sposób odświeżania)? w pełni przyrostowo Kiedy odświeżać (moment odświeżania)? okresowo automatycznie na żądanie Co przesyłać (rodzaj przesyłanych obiektów)? dane polecenia Indeksowanie 27 Indeks połączeniowy 28 Indeks połączeniowy Indeks bitmapowy Bitmapowy indeks połączeniowy Indeks połączeniowy Sklepy sklep_id nazwa Sprzedaż sklep_id produkt_id l_sztuk
Indeks bitmapowy - koncepcja 29 Indeks bitmapowy - przykład 30 Mapa bitowa - budowana dla każdej wartości z dziedziny indeksowanego atrybutu Konkretny bit mapy odpowiada konkretnemu rekordowi tabeli bit 1 - pierwszemu rekordowi, bit 2 drugiemu rekordowi, itd. Mapa A='zielony' bit n przyjmuje wartość 1 jeśli wartością atrybutu A n-tego rekordu jest 'zielony' w przeciwnym przypadku bit n przyjmuje wartość 0 Liczba bitów mapy bitowej odpowiada liczbie rekordów tabeli Indeks bitmapowy zbiór map bitowych dla danego atrybutu B-drzewo z mapami bitowymi w liściach Bitmapowy indeks połączeniowy 31 Partycjonowanie (1) 32 Tabele faktów - ogromne rozmiary Decydenci zainteresowani analizą podzbioru danych, np. sprzedaż w Wielkopolsce podział tabeli SPRZEDAŻ na części ze wzgl. na województwa Partycjonowanie - fizyczny podział tabeli lub indeksu na części (partycje) fizyczne rozmieszczenie poszczególnych partycji na osobnych dyskach atrybut partycjonujący
Partycjonowanie (2) 33 Techniki partycjonowania 34 Zalety operacje dostępu do dysków mogą być wykonywane równolegle jest równoważone obciążenie dysków polecenia SQL adresujące różne partycje mogą być wykonywane równolegle polecenia SQL mogą adresować konkretną partycję eliminując w ten sposób konieczność przeszukiwania całej tabeli wzrasta bezpieczeństwo danych w przypadku awarii sprzętu - awaria np. jednego dysku uniemożliwia dostęp tylko do partycji na tym dysku, natomiast partycje znajdujące się na nieuszkodzonych dyskach są nadal dostępne; wzrasta szybkość odtwarzania danych po awarii - odtwarzaniu podlegają tylko uszkodzone partycje, a nie cała tabela A1 A2 A3 A4 A5 A1 A2 A3 A4 A5 A1 A2 A3 A4 poziome A5 A1 A2 A3 A4 A5 pionowe mieszane A1 A2 A3 A4 A5 A1 A2 A3 A4 A5 Algorytm bazujący na wartości Podstawowy algorytm partycjonowania Klienci Klienci_Wlkp Klienci_Małop Klienci_Mazow 35 Productid Client Timeid Sales Video Alfa January 25 Video Alfa February 8 Video Alfa March 15 Camera Alfa January 30 Camera Alfa February 20 Camera Alfa March 50 CD Alfa January 8 CD Alfa February 10 CD Alfa March 10 Video Beta January 35 Video Beta February 22 Video Beta March 10 Camera Beta January 26 Camera Beta February 45 Camera Beta March 20 CD Beta January 20 CD Beta February 40 CD Beta March 5 Zadanie Dana jest tabela SALES przedstawiona na slajdzie przedstaw wynik operacji PIVOT względem atrybutów ProductId i TimeId oraz miary Sales wykonaj operację ROLLUP o jeden poziom dla atrybutu ProductId na wyniku operacji PIVOT, przyjmij następującą taksonomię 36 dysk 1 dysk 2 dysk 3 Electronics Vision Music Video Camera CD
Zadanie 37 Customerid Name Sex Mob. Company 100 Smith M ATT 110 Brown M Bell South 120 White F ATT 140 Grey M D1 150 Yellow M Bell South 160 Black F D1 Zdefiniuj indeksy bitmapowe na atrybutach Sex i Mob.Company W jaki sposób można wykorzystać indeks bitmapowy (lub indeksy bitmapowe) do odpowiedzi na następujące zapytania: jaki procent klientów to mężczyźni? ilu klientów nosi nazwisko "White"? ilu klientów mężczyzn korzysta z usług firmy ATT?