Hurtownie danych - przegląd technologii



Podobne dokumenty
Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl

Hurtownie danych wykład 3

Wielowymiarowy model danych

Hurtownie danych. 31 stycznia 2017

Modele danych - wykład V

Modelowanie hurtowni danych

Modele danych - wykład V. Zagadnienia. 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie fajne WPROWADZENIE

Schematy logiczne dla hurtowni danych

Hurtownie danych. Projektowanie hurtowni: modele wielowymiarowe. Modelowanie punktowe. Operacje OLAP na kostkach.

Plan wykładu. Hurtownie danych. Problematyka integracji danych. Cechy systemów informatycznych

Hurtownie danych. Hurtownie danych. dr hab. Maciej Zakrzewicz Politechnika Poznańska Instytut Informatyki. Maciej Zakrzewicz (1)

Zaawansowane systemy baz danych - ZSBD. Hurtownie danych 1. Problematyka hurtowni danych. Wykład przygotował: Robert Wrembel. ZSBD wykład 12 (1)

Plan. Inteligencja bisnesowa (Bussiness Intelligence) Hurtownia danych OLAP

Informatyzacja przedsiębiorstw

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl

Hurtownie danych - przegląd technologii

Hurtownie danych a transakcyjne bazy danych

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Wstęp do Business Intelligence

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Część I Istota analizy biznesowej a Analysis Services

Business Intelligence

Hurtownie danych. Rola hurtowni danych w systemach typu Business Intelligence

Wprowadzenie do hurtowni danych

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Bazy analityczne (hurtownie danych, bazy OLAP)

OLAP i hurtownie danych c.d.

Hurtownie danych - przegląd technologii

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Systemy OLAP II. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

Hurtownie danych. Wstęp. Architektura hurtowni danych. CO TO JEST HURTOWNIA DANYCH

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE

Hurtownie danych w praktyce

Projektowanie hurtowni danych

Bazy danych. Plan wykładu. Rodzaje baz. Rodzaje baz. Hurtownie danych. Cechy hurtowni danych. Wykład 14: Hurtownie danych

Ewolucja technik modelowania hurtowni danych

Wprowadzenie do Hurtowni Danych

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. Rozproszone Systemy Baz Danych

Ćwiczenia z Zaawansowanych Systemów Baz Danych

4. Znaczenie czasu w modelowaniu i strukturalizacji danych

HURTOWNIE DANYCH. Krzysztof Goczyła. Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska. kris@eti.pg.gda.pl. K.

Modelowanie wielowymiarowe hurtowni danych

BD2 BazyDanych2. dr inż. Tomasz Traczyk 14. Systemy przetwarzania analitycznego

HURTOWNIE DANYCH Dzięki uprzejmości Dr. Jakuba Wróblewskiego

Tematy projektów Edycja 2014

Microsoft Excel 2013: Budowanie modeli danych przy użyciu PowerPivot

Proces ETL. Katedra Inżynierii Oprogramowania Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska {kris,

Procesowanie i partycjonowanie Analysis Services od podszewki (300) Adrian Chodkowski Adrian.Chodkowski@outlook.com

Tematy projektów Edycja 2017

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Wprowadzenie do hurtowni danych

Transformacja modelu ER do modelu relacyjnego

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Opis spełnienia wymagań (PSBD)

Spis tre±ci. Przedmowa... Cz ± I

Projektowanie schematów logicznych dla magazynów danych

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Spis treści. Przedmowa

Szkolenie autoryzowane. MS Wdrażanie hurtowni danych w Microsoft SQL Server 2012

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Porównanie wydajności hurtowni danych ROLAP i MOLAP w Oracle 10g

Projektowanie Systemów Informacyjnych

Projektowanie bazy danych przykład

Microsoft SQL Server Podstawy T-SQL

Projektowanie hurtowni danych i modelowanie wielowymiarowe

Pierwsze wdrożenie SAP BW w firmie

Projektowanie hurtowni danych i modelowanie wielowymiarowe

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

Business Intelligence (BI) Hurtownie danych, Eksploracja danych. Business Intelligence (BI) Mnogość pojęć z okolic BI

Integracja systemów transakcyjnych

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Data Warehouse Physical Design: Part III

Przykłady normalizacji

Wykład XII. optymalizacja w relacyjnych bazach danych

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Hurtownie Danych i Business Intelligence: przegląd technologii

Architektury i technologie integracji danych

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

OdświeŜanie hurtownie danych - wykład IV. Zagadnienia do omówienia. Wprowadzenie

Hurtownie danych - przegląd technologii

Systemy baz danych. mgr inż. Sylwia Glińska

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Proces ETL MS SQL Server Integration Services (SSIS)

Systemy OLAP. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Projektowanie hurtowni danych i modelowanie wielowymiarowe

Transkrypt:

Hurtownie danych - przegląd technologii Robert Wrembel Poznan University of Technology Institute of Computing Science Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Designing DW System (R. Kimball's Method) requirements analytis technical DW architecture DW modeling (dimensions and facts DW schema) project planning and management user requirements physical data structures maintenance deployment analytical applications development ETL/ELT development 2

Modelowanie hurtowni danych Model wielowymiarowy Implementacja ROLAP Implementacja MOLAP Modelowanie ROLAP Zarządzanie modyfikacjami danych Slowly Changing Dimensions 3 Dane przechowywane w HD Dane bieżące Dane historyczne reguły biznesowe metadane dane zagregowane + struktury pomocnicze (np. indeksy) dane operacyjne (elementarne) 4

LOKALIZACJA Kategorie analizowanych danych 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ę województwa miasta sklepy 5 ROLAP, MOLAP, HOLAP Model relacyjny (ROLAP) schemat gwiazdy (ang. star schema) schemat płatka śniegu (ang. snowflake schema) schemat konstelacji faktów (ang. fact constellation schema) schemat gwiazda-płatek śniegu (ang. starflake schema) Model wielowymiarowy (MOLAP, MDOLAP) Model hybrydowy (HOLAP) 6

ROLAP - Schemat gwiazdy Fakty (tabela faktów) miary Wymiar (tabela wymiaru) 7 Struktura wymiaru tabela wymiaru tabela faktów sztuczny ID ID (PK) Dim1 (FK) klucz naturalny (wartości w systemie źródłowym) ATR1 (NK)... ATRn (NK) Dim2 (FK)... Dimn (FK) Atr1 M1 deskryptory Atr2... M2... mary Atrn Mn 8

ROLAP - Schemat płatka śniegu Wymiar (tabela wymiaru) poziom (tabela poziomu) hierarchia wymiaru 9 Schemat gwiazda-płatek śniegu 10

Schemat gwiazda-płatek śniegu Część wymiarów znormalizowanych poziomy wyższe wykorzystywane rzadko oszczędność miejsca Część wymiarów zdenormalizowanych wszystkie poziomy wymiarów wykorzystywane często efektywność zapytań ang. starflake schema 11 Modelowanie wymiarów gwiazda/płatek śniegu (1) Gwiazda: tabela wymiarów jest zdenormalizowana Zaleta: operacja roll-up wykonywana szybko (bez konieczności łączenia z tabelą poziomu nadrzędnego) Wada: na skutek redundancji danych rozmiar tabeli może być duży np. wymiar Czas z ziarnem 1sek i horyzontem czasowym wymiaru 10 lat 300 000 000 rekordów astronomia, fizyka jądrowa, telekomunikacja Płatek śniegu: tabele wymiaru są znormalizowane mniejszy rozmiar poszczególnych tabel poziomów operacja roll-up wykonywana wolniej (konieczność łączenia tabel poziomów) 12

Modelowanie wymiarów gwiazda/płatek śniegu (2) W praktyce: atrybuty różnych poziomów często wykorzystywane w operacji roll-up umieszczenie w tej samej zdenomralizowanej tabeli poziomu najniższego atrybuty rzadko wykorzystywane w roll-up umieszczenie w znormalizowanych tabelach poziomów wyższych 13 Schemat konstelacji faktów 14

Tabela faktów miary Sprzedaż DataSprzedaży (FK) Produkt (FK) Sklep (FK) Menadżer (FK) RodzajPromocji (FK) RodzajPłatności (FK) CzasID (FK) LSztuk KwotaNetto PodatekA PodatekB wymiary 15 Tabela faktów Tabela faktów bez miar (ang. factless fact) przechowuje pojedyncze fakty, z których każdy reprezentuje zdarzenie SzkodyKomunikacyjne RodzajSzkody(FK) Ubezpieczony(FK) CzasID (FK) 16

Wymiar Czasu Występuje w większości schematów Definiowana na początku budowy HD Ziarno - zazwyczaj dzień DataID sztuczny identyfikator; wartości 1, 2,..., n wartość numeryczna 11032008 (11-03-2008) DataID (PK) Data NazwaDnia NrDniaTyg NrDniaMies NrDniaRok NrDniaFiskMies NrDniaFiskRok CzyOstatniDzienTyg CzyOstatniDzienMies NrTygodniaRok NazwaMies NrMiesRok Kwartał Półrocze Rok NrTygodniaRokFisk NazwaMiesFisk NrMiesRokFisk KwartałFisk PółroczeFisk RokFisk CzyŚwięto CzyDzieńRoboczy CzyWeekend RodzajŚwięta 17 Wymiar Czasu Rejestrowanie czasu z dokładnością > dni znacznik czasowy w tabeli faktów Wymiar Czas DataID (PK)...... tabela faktów DataID (FK)...... ZnacznikCzas M1 M2... Mn 18

Role wymiarów Ten sam wymiar jest łączony wielokrotnie z tabelą faktów, np. wymiar Czasu Wymiar Czas DataID (PK)...... tabela faktów DataZamówienia (FK) DataDstarczenia DataZapłaty DataZwrotu M1 M2... Mn 19 Role wymiarów Wymiar w tabeli faktów (fact dimension) Wymiar Czas DataID (PK)...... KursyWalut DataID SymbolWaluty M1 M2... Mn Miara pełniąca rolę wymiaru długość odcinka podróży 20

Generowanie sztucznych ID Baza danych wyzwalacz - pogarsza efektywność HD i ETL sekwencja - rozwiązanie akceptowalne Sposób generowania wartości numeryczne - zadowalająca efektywność wartości znakowe konkatenacja klucza naturalnego i znacznika czasowego (data i czas utworzenia w systemie źródłowym lub wczytania do HD) niska efektywność duży rozmiar wartości (kilkanaście B) 21 Sztuczne ID Numeryczne brak semantyki chronologia wstawiania wartości reprezentowana kolejnymi wartościami odizolowanie wartości w HD od zmian wartości danych w źródłach dobrze wspierają integrację danych z wielu źródeł dobrze wspierają historię zmian instancji wymiaru 22

Agregacja (1) Ścieżka agregacji Fakty 23 Agregacja (2) Agregowalność (summarizability) możliwość agregowania wartości na poziomie wyższym (np. Miasto) w oparciu o agregaty z poziomu niższego (np. Sklep) Kryteria poprawnej agregowalności rozłączność zbioru instancji związek 1:M pomiędzy poziomem nadrzędnym i podrzędnym instancja poziomu podrzędnego jest powiązana tylko z jedną instancją poziomu nadrzędnego kompletność wszystkie instancje poziomów należą do instancji wymiaru każda instancja poziomu podrzędnego jest powiązana z instancją poziomu nadrzędnego właściwa funkcja agregująca zastosowanie właściwej funkcji agregującej dla danego typu miary 24

Agregacja (3) Typy miar (kryterium agregowalności) addytywne (addtitive, flow, rate) zapewniają poprawną agregowalność dla wszystkich wymiarów np. liczba sprzedanych sztuk towaru możliwe agregowanie w wymiarze czasu, klienta, produktu, sklepu, dostawcy,... częściowo addytywne (semiadditive, stock, level) zapewniają poprawną agregowalność dla niektórych wymiarów np. liczba sztuk towaru w magazynie możliwe agregowanie w wymiarze magazynu (Magazyn Miasto Region), agregowanie w wymiarze czasu daje nieinterpretowalne wyniki nieaddytywne (nonadditive, value-per-unit) nie podają interpretowalnych wartości zagregowanych w żadnym z wymiarów np. cena netto, kurs wymiany, kurs akcji dla SUM 25 Agregacja (4) Typy miar (kryterium własności funkcji agregującej) dystrybutywne (distributive) niezależne wyniki działania funkcji F na n podzbiorach zbioru danych Z są agregowane do jednego wyniku, który jest identyczny z wynikiem działania F na całym zbiorze Z agregat na poziomie wyższym może być obliczony na podstawie agregatów na poziomie niższym count, min, max, sum algebraiczne (algebraic) obliczana na podstawie wyników działania funkcji dystrybutywnych avg, stdev holistyczne (holistic) do obliczenia wyników potrzebne są wszystkie dane elementarne median 26

Hierarchie wymiarów prosta (simple) nieścisła (nonstrict) alternatywna (alternative) równoległa (parallel) zrównoważona (balanced, symetric) niezrównoważona (unbalanced, asymetric) z generalizacją (generalized) zależna (dependent) niezależna (independent) rekursywna (recursive) niezrównoważona (noncovering, ragged) Malinowski E., Zimanyi E.: Advanced Data Warehouse Design. From Conventional to Spatial and Temporal Applications. Springer Verlag, 2008 27 Hier. zrównoważona Posiada jedną ścieżkę agregacji w schemacie Związek 1:M obustronnie obowiązkowy pomiędzy poziomem nadrzędnym, a podrzędnym Grupa spożywcze Kategoria pieczywo wędliny nabiał Produkt kajzerka bułka poznaoska szynka parmeoska szynka babuni gouda maasdamer 28

Hier. niezrównoważona (1) Posiada jedną ścieżkę agregacji w schemacie Związek 1:M pomiędzy poziomem nadrzędnym, a podrzędnym, opcjonalny od strony poziomu nadrzędnego Bank Bank PKO BP Oddział O 1 Poznao O 2 Poznao O/Pobiedziska Agencja A1 A2 A3 29 Hier. niezrównoważona (2) Szczególny przypadek hierarchia niezrównoważona rekursywna wchodzi w skład Jednostka org. # IDJednostki * Nazwa * Rodzaj... składa się z 30

Hier. z generalizacją Poziomy wymiaru są powiązane związkami generalizacji (nadtyp-podtyp) Podtypy mogą posiadać własne hierarchie Na poziomie schematu istnieje wiele ścieżek współdzielących przynajmniej poziom najniższy Część poziomów może być specyficzna dla ścieżki Część poziomów może być wspólna dla kilku ścieżek Każda instancja poziomu należy tylko do jednej ścieżki 31 Hier. z generalizacją Promocja # IDPromocji * Forma * Budżet * Koordynator... Statyczna * Nośnik * Lokalizacja * Koszt... Dynamiczna * Rodzaj * Czas_trwania * Częstotliwość * Kanał... 32

Hier. z generalizacją Promocja # IDPromocji * Budżet... Statyczna * Nośnik * Lokalizacja * Koszt... Dynamiczna * Rodzaj * Czas_trwania * Częstotliwość * Kanał... Forma # IDFormy * Nazwa o Opis * Koordynator... Specjalizacja częściowa hierarchia niezrównoważona Specjalizacja nierozłączna problem z obliczaniem agregatów (agregowanie n razy tych samych wartości) specjalizowana procedura agregująca zlikwidowanie specjalizacji nierozłącznej w hierarchii wymiaru 33 Hier. ścisła Na poziomie schematu wymiaru istnieją wyłącznie związki 1:M pomiędzy poziomem wyższym (1), a niższym (M) Grupa Kategoria Produkt 34

Hier. nieścisła (1) Na poziomie schematu wymiaru istnieje przynajmniej jeden związek M:N pomiędzy poziomami Grupa elektronika Kategoria telefon odtwarzacz MP4 PDA Produkt Nokia E51 iphone Sony Walkman X Palm m515 Problem agregowania n razy tego samego produktu sprzedaż elektroniki iphone liczony 3 razy 35 Hier. nieścisła (2) Rozwiązania wprowadzenie nowej kategorii, np. smartphone: {iphone} wybór jednej kategorii (głównej) do której należy produkt w ścieżce agregacji dystrybucja wartości miar dla produktu pomiędzy kategorie przyjęta odgórnie, np. telefon 40%, odtwarzacz MP4 20%, PDA 40% równomierna: wartość miary podzielona przez liczbę kategorii do których należy produkt, np. 1/3 dla iphone transformacja nieścisłej hierarchii do ścisłej 36

Hier. nieścisła (3) Jednostka Transformacja nieścisła ścisła możliwa jeśli znamy dokładną dystrybucję wartości miary, np. ile pracownik zarabia w konkretnym projekcie Projekt Jednostka Projekt Pracownik Wynagrodzenie * Pensja * Data... Wynagrodzenie * Pensja * Data... Pracownik 37 Hier. nieścisła (4) Problem zliczenie pracowników jednostek Jednostka J1 J2 Projekt P1 P2 P3 P4 Wynagrodzenie * Pensja * Data... Pracownik J1 (3) J2 (5) 38

Hier. alternatywna (1) Złożona z hierarchii prostych współdzielących przynajmniej poziom najniższy Ścieżki analizy nie są wyłączne Agregacja każdą ścieżką dla poziomów współdzielonych daje identyczne wyniki, np. sprzedaż roczna Instancja wymiaru jest grafem instancja podrzędna (czas) jest powiązana z kilkoma instancjami nadrzędnymi (miesiąc, tydzień), a każda z instancji nadrzędnych należy do innego poziomu Każda ścieżka agregacji prowadzi do tych samych instancji poziomów najniższego i najwyższego Czas Miesiąc Tydzień roku Kwartał Półrocze Rok 39 Hier. alternatywna (2) Problem jednoczesna analiza danych wzdłuż obu ścieżek agregacji może prowadzić do źle interpretowanych wyników np. sprzedaż w 1 kwartale 2009 i 50 tygodniu 2009 brak danych rozwiązanie: wybór jednej ścieżki agregacji w danej analizie 40

Sklep Producent Klient Hier. równoległe (1) Niezależne (parallel independent hierarchies) przypadek standardowy brak współdzielenia poziomów pomiędzy hierarchiami każda hierarchia stanowi inne kryterium analizy, np. Produkt, Klient, Czas Produkt Czas Sprzedaż 41 Hier. równoległe (2) Zależne (parallel dependent hierarchies) współdzielenie poziomów pomiędzy hierarchiami każda hierarchia stanowi inne kryterium analizy Województwo Miasto Produkt Sklep Producent Czas Sprzedaż analiza danych w kontekście obu hierarchii, np. wskaźniki sprzedaży w poszczególnych miastach danego producenta 42

Sklep Producent Hier. równoległe (3) agregacja danych na poziomach wspólnych, np. miasto, daje różne wyniki dla różnych ścieżek agregacji Województwo Miasto Produkt Sklep Producent Czas Sprzedaż 43 Praktyka W praktyce maksymalna liczba wymiarów to 15-18 44

Narzędzia do modelowania DB2 Data Warehouse Center, Sybase Warehouse Studio, Microsoft Data Warehousing Framework, SAP Data warehouse management, NCR Teradata Warehouse Builder, Oracle Designer6i/9i 45 Model wielowymiarowy obszar Warszawa Kraków Poznań 1995 1996 1997 okres Ford Audi BMW produkt "Wielowymiarowa kostka" (data cube, hypercube) Operacje drill-down / roll-up slice, dice rotate (pivot) drill-accross drill-through 46

Drill-down / roll-up obszar Warszawa Kraków Poznań sty lut marz kwie... gru Ford Audi BMW produkt obszar Warszawa Kraków Poznań okres Ford Audi produkt BMW 1995 1996 1997 rozwijanie hierarchii czasu drill-down roll-up 47 Slice, dice Slice warunki selekcji nałożone na jeden wymiar Dice warunki selekcji nałożone n wymiarów 48

Rotate (pivot) obszar Warszawa Kraków Poznań 1995 1996 1997 okres Ford Audi BMW produkt obszar obrót o 90ow lewo Warszawa Kraków 1997 Poznań 1996 Ford Audi BMW 1995 produkt okres produkt Ford Audi 1997 BMW 1996 1995 Poznań Kraków Warszawa obszar okres 49 Drill-across Analiza danych z kilku kostek kostki muszą mieć przynajmniej jeden wymiar wspólny 50

Drill-through Odczytanie i analiza danych elementarnych z centralnej HD (impl. ROLAP) 51 ROLAP a MOLAP Implementacja relacyjna ROLAP Implementacja wielowymiarowa MOLAP 21 14 Auchan 10 Wielkopolska Poznań Selgros Makro Piotr i Paweł 12 23 30 18 12-2003...... 03-2003 02-2003 01-2003 52

Agregowanie danych w kostce luty styczeń sklep1 sklep2 sklep3 masło 44 4 chleb sklep1 sklep2 sklep3 masło 12 50 chleb 11 8 sprzedaż(masło, sklep2, luty) sprzedaż(masło, all, all) sprzedaż(masło, sklep2, all) styczeń + luty sprzedaż(all, sklep2, all) sklep1 sklep2 sklep3 chleb 56 4 50 masło 11 8 + sklep1 sklep2 sklep3 sum(produkty) 67 12 50 + + sum(sklepy) chleb 110 masło 19 + 129 sprzedaż(all, all, all) 53 Agregowanie w hierarchii wymiaru Wielkopolskie województwo kategoria Poznań Gniezno miasto grupa sklep produkt żywność nabiał pieczywo masmix mleko2% kajzerka rogal 10 5 150 13 32 16 265 4 13 9 321 8 22-01-2004 21-01-2004 20-01-2004 13-12-2004...... 54

Implementacja MOLAP Tablica wielowymiarowa Tablica haszowa (SQL Server) BLOB (Oracle) Quad tree K-D tree 55 HOLAP Dane elementarne i "słabo zagregowane" ROLAP Dane zagregowane (tematyczne HD) MOLAP 56

Modelowanie ROLAP Problematyka Zidentyfikowanie faktów Zidentyfikowanie kluczowych wymiarów Zaprojektowanie tabel faktów Zaprojektowanie tabel wymiarów 58

ROLAP zidentyfikowanie faktów Zidentyfikowanie kluczowych typów transakcji w systemie produkcyjnym (realizują kluczowe akcje/operacje w obszarze działania przedsiębiorstwa) handel: transakcje sprzedaży bankowość: kursy walut, operacje na rachunkach giełda: wahania kursów akcji, operacje giełdowe ubezpieczenia: wykupienie polisy, zmiana warunków polisy, zgłoszenie szkody, wypłacenie odszkodowania telekomunikacja: zrealizowanie rozmowy przez abonenta, podłączenie telefonu, zawarcie umowy, zmiana abonamentu, płatności za abonament opieka zdrowotna: przyjęcie pacjenta do szpitala, forma leczenia, wynik leczenia 59 ROLAP zidentyfikowanie wymiarów Zidentyfikowanie kluczowych wymiarów dla faktów (określenie kontekstu analizy faktów) handel: analiza sprzedaży w poszczególnych miastach i okresach czasowych bankowość: wahania kursów walut w poszczególnych dniach analiza przyrostu liczby nowych rachunków w poszczególnych miesiącach z podziałem na rodzaje rachunków giełda: wahania kursów akcji poszczególnych firm w poszczególnych dniach liczba zawartych transakcji kupna lub sprzedaży w jednostce czasu i łączne kwoty tych operacji ubezpieczenia: analiza przyrostu/spadku liczby polis poszczególnych rodzajów w miastach w poszczególnych miesiącach telekomunikacja: analiza rozkładu czasu rozmów poszczególnych klientów w czasie doby 60

ROLAP projektowanie schematu tabeli faktów (1) Poziom szczegółowości informacji rozmiar tabeli faktów rejestrowanie kwoty zakupu pojedynczego produktu rejestrowanie sumarycznej kwoty zakupu całego koszka rejestrowanie sumarycznej kwoty zakupu w miesiącu Horyzont czasowy danych jak długo przechowywać informacje na najwyższym poziomie szczegółowości? opracowanie strategii agregowania danych starszych raporty roczne najczęściej wystarczają agregaty sumujące fakty z dokładnością do miesiąca raporty agregujące dane sprzed kilku lat najczęściej wystarczają agregaty sumujące fakty z dokładnością do miesiąca, kwartału, lub roku 61 ROLAP projektowanie schematu tabeli faktów (2) Właściwy zbiór atrybutów tabeli faktów Usunięcie zbędnych atrybutów rozmiar tabeli faktów czy atrybut wnosi nową/niezbędną wiedzę o fakcie? czy wartość atrybutu można wyliczyć? Minimalizacja rozmiarów atrybutów przykład: telekomunikacja tabela wymiaru Abonenci zawiera 8*10 6 abonentów każdy abonent dzwoni średnio 2 razy dziennie roczny horyzont czasowy tabeli faktów zmniejszenie długości rekordów tabeli faktów o 10B zyskujemy 54GB 62

ROLAP klucze podstawowe i obce Klucze naturalne nr rejestracyjny pojazdu, VIN, nr rachunku, NIP, PESEL Klucze sztuczne generowane automatycznie przez system nr klienta, id produktu, nr transakcji Połączenie tabeli wymiaru i faktów za pomocą klucza podstawowego-obcego pokaż liczbę szkód pojazdu o numerze rejestracynym xxx w ostatnim roku zapytanie wyłącznie do tabeli faktów Jeśli wartość klucza podstawowego może się zmienić wysoki koszt uaktualnienia faktów sytuacja mało prawdopodobna uwaga: nr rachunku! 63 Reprezentowanie czasu w tabeli faktów (1) Sztuczny identyfikator (data_id) konieczność łączenia z tabelą wymiaru czasu Naturalny identyfikator (data, timestamp) składowanie fizycznej daty sposób bardziej efektywny większość analiz wykonuje się w wymiarze czasu zapytanie nie zawiera połączenia z tabelą wymiaru czasu Składowanie przesunięcia czasowego Składowanie zakresów dat 64

Reprezentowanie czasu w tabeli faktów (2) Składowanie przesunięcia czasowego partycjonowane tabele faktów Platnosci_styczen2004 klient_id kwota nr_dnia --------- ---------- ------- 100 57.60 1 203 123.90 1 4005 99.00 2 205 79.40 3 111 205.90 3 5008 432.00 13 23 332.40 14 567 87.00 31 Platnosci_luty2004 klient_id kwota nr_dnia --------- ---------- ------- 100 57.60 1 203 123.90 2 4005 99.00 3 205 79.40 4 111 205.90 5 5008 432.00 28 23 332.40 29 567 87.00 29 65 Reprezentowanie czasu w tabeli faktów (3) Składowanie przesunięcia czasowego Wada: konieczność konwersji daty z zapytania użytkownika do postaci przesunięcia czasowego perspektywa Zaleta: podział dużej tabeli na mniejsze, z których każda może być adresowana w zapytaniu niezależnie mniejszy rozmiar atrybutu reprezentującego datę (1B) 66

Reprezentowanie czasu w tabeli faktów (4) Składowanie zakresów dat np. atrybuty: data_od, data_do stan magazynu supermarketu sprzedaż w okresie Wada: bardziej złożone zapytanie testujące warunki początku i końca okresu Zaleta: zmniejszenie liczby rekordów w tabeli faktów Zaleta: rozszerzenie zakresu ważności rekordu poprzez zmodyfikowanie wartości data_do np. liczba produktów w magazynie nie ulega zmianie w danym dniu zmodyfikuj wartość data_do dla tego produktu 67 Model ogólny Produkty Przedst.Handlowi Klienci Zamówienia Promocje Data 68

Wymiary wolnozmienne - problem Nowe instancje wymiaru np. nowe sklepy, produkty, taryfy Modyfikacje wartości atrybutów np. zmiana ceny brutto produktu, zmiana widełek w taryfikatorze mandatów Zmiana struktury instancji wymiaru np. zmiana klasyfikacji produktu do innej grupy zmiana struktury organizacyjnej (województwa, WE PP) Konieczność uaktualniania instancji wymiarów Rozwiązanie: R. Kimball Slowly Changing Dimensions 69 Ćwiczenie - operator aukcji internetowych Wymagane analizy: Liczba otwartych aukcji w danym okresie Liczba zakończonych aukcji w danym okresie Ranking sprzedawców/kupujących z punktu widzenia opinii Ranking sprzedawców/kupujących z punktu widzenia kwot sprzedaży Porównanie zysków operatora w kolejnych okresach (miesiąc, kwartał, półrocze, rok) Porównanie liczby zakończonych aukcji w poszczególnych okresach z podziałem na kraje 70