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

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

Krzysztof Dembczyński. Inteligentne Systemy Wspomagania Decyzji Studia magisterskie, semestr I Semestr letni 2007/08

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

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

Modele danych - wykład V

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

SAS OLAP Cube Studio Wprowadzenie

Projektowanie hurtowni danych i modelowanie wielowymiarowe

Hurtownie danych. 31 stycznia 2017

OLAP i hurtownie danych c.d.

Projektowanie hurtowni danych i modelowanie wielowymiarowe

przygotował: Podstawy języka MDX Tworzenie zbiorów

Systemy baz danych i hurtowni danych

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Wielowymiarowy model danych

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

Hurtownie danych - przegląd technologii

Projektowanie hurtowni danych i modelowanie wielowymiarowe

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

BUSINESS INTELLIGENCE DEVELOPMENT Tego Cię nauczymy:

Hurtownie danych wykład 3

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

Wstęp do Business Intelligence

Integracja i Eksploracja Danych

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

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

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

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

Business Intelligence

Hurtownie danych a transakcyjne bazy danych

Rozszerzenia grupowania

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

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Hurtownie danych - przegląd technologii

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

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

Hurtownie danych. Rola hurtowni danych w systemach typu Business Intelligence

Wykład XII. optymalizacja w relacyjnych bazach danych

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

JPivot & Mondrian. 16 maja Krukar, Lewandowska (BiHD) JPivot & Mondrian 16 maja / 42

Projektowanie hurtowni danych

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

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

Część I Istota analizy biznesowej a Analysis Services

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

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE

Schematy logiczne dla hurtowni danych

JPivot & Mondrian. inż. Urszula Krukar, inż. Agnieszka Lewandowska,

Kostki OLAP i język MDX

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

Informatyzacja przedsiębiorstw

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

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

Opracowanie: Izabela Czepil i Andrzej Solski

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

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

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

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

Specjalizacja magisterska Bazy danych

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

Analiza i eksploracja danych

Część 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych

Hurtownie danych. Wprowadzenie do systemów typu Business Intelligence

OPIS PRZEDMIOTU ZAMÓWIENIA

Bazy analityczne (hurtownie danych, bazy OLAP)

SQL do zaawansowanych analiz danych część 1.

Technologie baz danych

Systemy GIS Tworzenie zapytań w bazach danych

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

OnLine Analytical Processing (OLAP) Kostki OLAP i zapytania MDX

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

Optymalizacja w relacyjnych bazach danych - wybór wydajnej strategii obliczania wyrażenia relacyjnego.

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

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

Bazy danych 8. Podzapytania i grupowanie. P. F. Góra

Matematyka kodem nowoczesności. Zaproszenie do składania ofert

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2012/2013

Rady i porady użytkowe

Budowa systemu wspomagającego podejmowanie decyzji. Metodyka projektowo wdrożeniowa

4. Znaczenie czasu w modelowaniu i strukturalizacji danych

"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz

Projektowanie baz danych

Relacyjne bazy danych a XML

Ćwiczenia z Zaawansowanych Systemów Baz Danych

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

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

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

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

Pierwsze wdrożenie SAP BW w firmie

SQL (ang. Structured Query Language)

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Integracja systemów transakcyjnych

Usługa archiwizacji danych w systemie Eureca. Marek Jelenik CONTROLLING SYSTEMS sp. z o.o.

Co to jest Business Intelligence?

PROJEKT HURTOWNI DANYCH DLA PRZEDSIĘBIORSTWA PRODUKCYJNO-HANDLOWEGO W ŚRODOWISKU MS SQL SERVER

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Ewolucja systemów baz danych

KARTA PRZEDMIOTU. Hurtownie i eksploracja danych D1_5

Microsoft SQL Server Podstawy T-SQL

Transkrypt:

Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2007/08 Studia uzupełniajace magisterskie

Plan wykładu Systemy baz i hurtowni danych wprowadzenie do wykładu Modele danych i ewolucja systemów baz danych Projektowanie hurtowni danych i modelowanie wielowymiarowe Proces ekstrakcji, transformacji i ładowania danych (Proces ETL) I II

Plan wykładu 1 Systemy OLAP 2 Podsumowanie

Plan wykładu 1 Systemy OLAP 2 Podsumowanie

Serwery OLAP sa narzędziem do efektywnego wielowymiarowego przetwarzanie ogromnych wolumenów danych.

W systemach OLAP razem z danymi wielowymiarowymi oprócz szczegółowych wartości miar składowane sa również miary zagregowane.

Możliwe agregacje w modelu wielowymiarowym przedstawiane sa często jako krata kuboidów (ang. Cuboid). Przykład dla czterech wymiarów: czas, produkt, lokalizacja, dostawca. Łatwo pokazać operację Roll up i Drill down.

Liczba kuboidów: l = i=1,...,n (L i + 1), gdzie n to liczba wymiarów, a L i jest liczba poziomów hierarchii dla i-tego wymiaru, Przykładowo dla 10 wymiarów i 4 poziomów dla każdego wymiaru: l = 5 10 = 9, 8 10 6.

Rodzaje operatorów agregacji: rozproszone: count(), sum(), max(), min() algebraiczne: ave(), std_dev() holistyczne: median(), mode(), rank()

Serwery OLAP: ROLAP (Relacyjne), MOLAP (Wielowymiarowe), HOLAP (Hybrydowe).

Serwery ROLAP bazuja na relacyjnym modelu danych. Powinny zapewniać optymalizację: denormalizacji relacji (denormalization), tworzenia podsumowań (summarization), tworzenie podziału (partitioning).

SQL3 Rozszerzenia języka SQL GROUP BY ROLLUP, GROUP BY CUBE.

GROUP BY CUBE SELECT Czas, Produkt, Lokalizacja, Dostawca, SUM(Zysk) FROM Sprzedaż GROUP BY CUBE (Czas, Produkt, Lokalizacja, Dostawca);

GROUP BY CUBE SELECT Czas, Produkt, Lokalizacja, Dostawca, SUM(Zysk) FROM Sprzedaż GROUP BY Czas, Produkt, Lokalizacja, Dostawca UNION ALL SELECT Czas, Produkt, Lokalizacja, *, SUM(Zysk) FROM Sprzedaż GROUP BY Czas, Produkt, Lokalizacja UNION ALL SELECT Czas, Produkt, *, Dostawca, SUM(Zysk) FROM Sprzedaż GROUP BY Czas, Produkt, Dostawca UNION ALL... UNION ALL SELECT *, *, *, *, SUM(Zysk) FROM Sprzedaż;

GROUP BY CUBE SELECT Academic_year, Name, AVG(Grade) FROM Students_grades GROUP BY CUBE(Academic_year, Name); Academic_year Name AVG(Grade) 2001/2 Stefanowski 4.2 2001/2 Słowiński 4.1 2002/3 Stefanowski 4.0 2002/3 Słowiński 3.8 2003/4 Stefanowski 3.9 2003/4 Słowiński 3.6 2003/4 Dembczyński 4.8 2001/2 NULL 4.15 2002/3 NULL 3.85 2003/4 NULL 3.8 NULL Stefanowski 3.9 NULL Słowiński 3.6 NULL Dembczyński 4.8 NULL NULL 3.95

GROUP BY ROLLUP SELECT Czas, Produkt, Lokalizacja, Dostawca, SUM(Zysk) FROM Sprzedaż GROUP BY ROLLUP (Czas, Produkt, Lokalizacja, Dostawca);

GROUP BY CUBE SELECT Czas, Produkt, Lokalizacja, Dostawca, SUM(Zysk) FROM Sprzedaż GROUP BY Czas, Produkt, Lokalizacja, Dostawca UNION ALL SELECT Czas, Produkt, Lokalizacja, *, SUM(Zysk) FROM Sprzedaż GROUP BY Czas, Produkt, Lokalizacja UNION ALL SELECT Czas, Produkt, *, *, SUM(Zysk) FROM Sprzedaż GROUP BY Czas, Produkt UNION ALL SELECT Czas, *, *, *, SUM(Zysk) FROM Sprzedaż GROUP BY Czas UNION ALL SELECT *, *, *, *, SUM(Zysk) FROM Sprzedaż;

GROUP BY ROLLUP SELECT Academic_year, Name, AVG(Grade) FROM Students_grades G GROUP BY ROLLUP(Academic_year, Name); Academic_year Name AVG(Grade) 2001/2 Stefanowski 4.2 2001/2 Słowiński 4.1 2002/3 Stefanowski 4.0 2002/3 Słowiński 3.8 2003/4 Stefanowski 3.9 2003/4 Słowiński 3.6 2003/4 Dembczyński 4.8 2001/2 NULL 4.15 2002/3 NULL 3.85 2003/4 NULL 3.8 NULL NULL 3.95

Zalety serwerów ROLAP: Skalowalność ze względu na liczbę wymiarów, Skalowalność ze względu na rozmiar danych, Rzadkość danych nie stanowi problemu, Dobrze rozpoznana i dojrzała technologia. Wady: Gorsza wydajność w porównaniu z systemami MOLAP, Potrzeba tworzenia indeksów oraz wykorzystania innych technik optymalizacji.

Serwery MOLAP bazuja na wielowymiarowym modelu danych. Technologia macierzy gęstych i rzadkich: zapamiętywanie macierzy gęstych wprost, z macierzy rzadkich usuwane sa puste komórek i dokonywana jest kompresja pozostałej informacji. Zapamiętywanie zagregowanych podkostek. Brak standardów modelu wielowymiarowego.

Zalety serwerów OLAP: Bardzo wydajny dostęp do danych poprzez bezpośrednie adresowanie, Szybkie odpowiedzi na zapytania, Bardzo często zawieraja obliczone agregaty pośrednie. Wady: Problemy ze skalowalnościa przy dużej liczbie wymiarów, Wymagaja specyficznego systemu zapisu (młoda technologia), Nie sa wydajne w przechowywaniu rzadkich danych.

Przykład Model składa się z wymiarów: klient, produkt, sklep oraz dzień; w przypadku 100 000 klientów, 10 000 produktów, 1 000 sklepów oraz 1 000 dni kostka danych zawiera 1 000 000 000 000 000 komórek! Wiele komórek jest pustych: nie istnieja wszystkie kombinacje klientów, produktów, sklepów oraz dnia.

Język MDX (Multidimensional Expressions): Podstawowe terminy: Wymiar, Hierarchia, Poziom, Członek, Miara, Krotka, Zbiór. MDX SELECT {[CARS].[All CARS].[Chevy], [CARS].[All CARS].[Ford]} ON ROWS, {[DATE].[All DATE].[March], [DATE].[All DATE].[April]} ON COLUMNS FROM MDDBCARS;

Język MDX (Multidimensional Expressions): MDX SELECT {[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]} ON COLUMNS, {[DATE].[ALL DATE].[MARCH], [DATE].[ALL DATE].[APRIL]} ON ROWS FROM MDDBCARS WHERE ([MEASURES].[SALES_N])

Język MDX (Multidimensional Expressions): MDX SELECT {[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]} ON COLUMNS, {[DATE].[ALL DATE].[JANUARY]:[DATE].[ALL DATE].[APRIL]} ON ROWS FROM MDDBCARS

Język MDX (Multidimensional Expressions): MDX SELECT {[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]} ON COLUMNS, {[DATE].MEMBERS} ON ROWS FROM MDDBCARS

Język MDX (Multidimensional Expressions): MDX SELECT {[CARS].[ALL CARS].[FORD].CHILDREN} ON COLUMNS, {[DATE].MEMBERS} ON ROWS FROM MDDBCARS

Język MDX (Multidimensional Expressions): MDX SELECT {([CARS].[ALL CARS].[CHEVY], [MEASURES].[SALES_SUM]), ([CARS].[ALL CARS].[CHEVY], [MEASURES].[SALES_N]), ([CARS].[ALL CARS].[FORD], [MEASURES].[SALES_SUM]), ([CARS].[ALL CARS].[FORD], [MEASURES].[SALES_N]) } ON COLUMNS, {[DATE].MEMBERS} ON ROWS FROM MDDBCARS

Język MDX (Multidimensional Expressions): MDX SELECT {CROSSJOIN({[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]}, {[MEASURES].[SALES_SUM], [MEASURES].[SALES_N]}) } ON COLUMNS, {[DATE].MEMBERS} ON ROWS FROM MDDBCARS

Język MDX (Multidimensional Expressions): MDX SELECT {CROSSJOIN ({[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]}, {[MEASURES].[SALES_SUM], [MEASURES].[SALES_N]}) } ON COLUMNS, NON EMPTY {[DATE].MEMBERS} ON ROWS FROM MDDBCARS

Serwery HOLAP Systemy hybrydowe wspierajace dwa modele danych. Serwer parametryzowany przez użytkownika/administratora systemu.

OLAP w Excelu Excel wspiera zewnętrzne serwery OLAP. Wtyczki do Excela dostraczane przez IBM a, Oracle i SAS. Dobrze znany interfejs tabel przestawnych w Excelu:

OLAP w Excelu

Plan wykładu 1 Systemy OLAP 2 Podsumowanie

Podsumowanie Systemy OLAP służa do efektywnego wielowymiarowego przetwarzania ogromnym wolumenów danych, Podstawowe modele to ROLAP, MOLAP i HOLAP, Z podejściem ROLAP zwiazany jest język SQL3; z podejściem wielowymiarowym język MDX, ROLAP, MOLAP, czy HOLAP?

Plan wykładu Systemy baz i hurtowni danych wprowadzenie do wykładu Modele danych i ewolucja systemów baz danych Projektowanie hurtowni danych i modelowanie wielowymiarowe Proces ekstrakcji, transformacji i ładowania danych (Proces ETL) I II