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

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

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

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

Struktury danych i optymalizacja

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

Modele danych - wykład V

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

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

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

Optymalizacja poleceń SQL Metody dostępu do danych

Indeksy w hurtowniach danych

Hurtownie danych. 31 stycznia 2017

Projektowanie hurtowni danych

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

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. Projektowanie hurtowni: modele wielowymiarowe. Modelowanie punktowe. Operacje OLAP na kostkach.

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

SAS OLAP Cube Studio Wprowadzenie

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

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

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

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

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.

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

Hurtownie danych - przegląd technologii

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

OLAP i hurtownie danych c.d.

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

Hurtownie danych - przegląd technologii

Haszowanie (adresowanie rozpraszające, mieszające)

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

ZAGADNIENIA DO EGZAMINU DYPLOMOWEGO NA STUDIACH INŻYNIERSKICH. Matematyka dyskretna, algorytmy i struktury danych, sztuczna inteligencja

Systemy baz danych i hurtowni danych

INDEKSY. Biologiczne Aplikacje Baz Danych. dr inż. Anna Leśniewska

Architektura komputerów

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

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Optymalizacja poleceń SQL

Hurtownie danych - przegląd technologii

Wstęp do Business Intelligence

Optymalizacja poleceń SQL Indeksy

Jakub Pilecki Szymon Wojciechowski

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

Bazy analityczne (hurtownie danych, bazy OLAP)

Wielowymiarowy model danych

4. Znaczenie czasu w modelowaniu i strukturalizacji danych

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

Tadeusz Pankowski

Hurtownie danych. Ładowanie, integracja i aktualizacja danych. INTEGRACJA DANYCH ETL

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji

Bazy danych wykład ósmy Indeksy

Przykładowe B+ drzewo

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

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

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE

SQL SERVER 2012 i nie tylko:

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Bazy danych. Andrzej Łachwa, UJ, /15

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Pojęcie bazy danych. Funkcje i możliwości.

Hurtownie danych a transakcyjne bazy danych

Indeksowanie w bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Projektowanie baz danych

Ćwiczenia z Zaawansowanych Systemów Baz Danych

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

System plików przykłady. implementacji

Wykład I. Wprowadzenie do baz danych

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Wykład XII. optymalizacja w relacyjnych bazach danych

STROJENIE BAZ DANYCH: INDEKSY. Cezary Ołtuszyk coltuszyk.wordpress.com

Informatyzacja przedsiębiorstw

Teoretyczne podstawy informatyki

Hurtownie danych wykład 3

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

Tabela wewnętrzna - definicja

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

WPROWADZENIE DO BAZ DANYCH

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

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

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

Przestrzenne bazy danych Podstawy języka SQL

Statystyki (1) Optymalizacja poleceń SQL Część 2. Statystyki (2) Statystyki (3) Informacje, opisujące dane i struktury obiektów bazy danych.

OPIS PRZEDMIOTU ZAMÓWIENIA

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Pierwsze wdrożenie SAP BW w firmie

Porównanie systemów zarządzania relacyjnymi bazami danych

Ewolucja technik modelowania hurtowni danych

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Część I Istota analizy biznesowej a Analysis Services

Indeksy. Rozdział 18. Indeksy. Struktura indeksu. Adres rekordu

Transformacja modelu pojęciowego. do logicznego

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

Hurtownie danych. Wprowadzenie do systemów typu Business Intelligence

Transkrypt:

Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr letni 2006/07

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) Systemy OLAP Analiza i eksploracja danych Rozmyte zapytania do baz danych Internet jako baza danych (Dawid Weiss)

Plan wykładu 1 Optymalizacja w systemach OLAP 2 Operacje złaczenia 3 Indeksy 4 Dane zagregowane 5 Podsumowanie

Plan wykładu 1 Optymalizacja w systemach OLAP 2 Operacje złaczenia 3 Indeksy 4 Dane zagregowane 5 Podsumowanie

Serwery OLAP sa narzędziem do efektywnego wielowymiarowego przetwarzanie ogromnych wolumenów danych. Serwery OLAP: ROLAP (Relacyjne) MOLAP (Wielowymiarowe) HOLAP (Hybrydowe)

Optymalizacja w systemach OLAP: Operacje złaczenia, Indeksy, Dane zagregowane, Wykorzystanie danych zagregowanych, Aktualizacja zmaterializowanych perspektyw, Przetwarzanie zapytań.

Plan wykładu 1 Optymalizacja w systemach OLAP 2 Operacje złaczenia 3 Indeksy 4 Dane zagregowane 5 Podsumowanie

Operacje złaczenia Zapytania do systemów ROLAP wymagaja operacji złaczenia: Tabela faktów łaczona jest z tabelami wymiarów, Wybór algorytmu złaczenia ma bardzo duży wpływ na koszt wykonania zapytania.

Implementacja operacji połaczenia: Zagnieżdżona pętla wybierz jeden plik jako zewnętrzny, a drugi jako wewnętrzny. Dla każdego pobranego rekordu z pliku zewnętrzenego odczytuj po kolei wszystkie rekordy pliku wewnętrznego i dla każdych dwóch rekordów sprawdź warunek połaczenia, Bezpośrednie ścieżki dostępu dla dopasowania rekordów poprzez wykorzystanie indeksów lub funkcji haszowych, Algorytm Sort-Merge, Algorytm Hash-join. Dwa źródła złożoności: operacje I/O oraz operacje obliczeniowe (procesora).

Plan wykładu 1 Optymalizacja w systemach OLAP 2 Operacje złaczenia 3 Indeksy 4 Dane zagregowane 5 Podsumowanie

Indeksy Zasada indeksów: mapowanie wartości kluczowych rekordów w celu szybkiego dostępu asocjacyjnego.

Podstawowa metoda przyśpieszania dostępu do danych. Przypominaja w pewien sposób indeksy w ksiażkach. Indeks jest zakładany na atrybucie relacji atrybut ten nosi nazwę atrybutu indeksowego. Definicja Indeks jest to uporzadkowany plik rekordów o stałej długości i o dwóch polach: wartość pola indeksowanego (atrybutu, który indeksujemy), wskaźnik na blok + przesunięcie w bloku (lub wskaźnik na adres bloku).

Odwrócona lista

Przykład Wybierz osoby w wieku 20 lat i o imieniu Fred: Lista osób - wiek = 20: R4, R18, R34, R35 Lista osób - imię = Fred: R18, R52 Wynik: przecięcie powyższych list: R18

Dodatkowe aspekty standardowych indeksów w hurtowniach danych: Wykonywanie zapytań na samych indeksach bez dostępu do danych w relacji. Indeksy na atrybutach złożonych. Indeksy w hurtowniach danych, m.in.: Odwrócona lista, Indeks bitmapowy, Indeks segmentowy, Indeks projekcji, Indeks połaczeniowy.

Indeks podstawowy Indeks podstawowy jest zakładany na atrybucie, który jest unikalny i porzadkuj acy. Plik z relacja jest uporzadkowany wg. atrybutu porzadkuj acego. Kolejne wskaźniki indeksów odpowiadaja poczatkom kolejnych bloków. Jest to tzw. indeks rzadki (tzn. liczba rekordów indeksu odpowiada liczbie bloków pliku wskażniki sa do bloków, a nie do rekordów). Taki indeks można przeszukiwać binarnie.

Indeks wtórny Pole, na którym zakładany jest indeks wtórny jest polem nieporzadkuj acym i nazywamy je polem indeksowanym. Może istnieć wiele indeksów wtórnych dla pojedynczej relacji. Indeks wtórny jest indeksem gęstym jednemu rekordowi indeksu odpowiada jeden rekord pliku danych. Taki indeks można przeszukiwać binarnie. Indeks ten zajmuje więcej pamięci niż indeks podstawowy.

Indeks wielopoziomowy Polega na indeksowaniu indeksów :) Indeks jest indeksowany w sposób rzadki (dlaczego?). Taka struktura redukuje znacznie czas przeszukiwania. Problemem jest wstawianie i usuwanie rekordów (odpowiedź: B-drzewa).

Indeks bitmapowy Przykładowa relacja Klient Miasto Samochód C1 Detroit Ford C2 Chicago Honda C3 Detroit Honda C4 Poznań Ford C5 Paris BMW C6 Paris Nissan

Przykład: indeks bitmapowy na atrybucie miasto Klient Chicago Detroit Paris Poznań C1 0 1 0 0 C2 1 0 0 0 C3 0 1 0 0 C4 0 0 0 1 C5 0 0 1 0 C6 0 0 1 0

Przykład: indeks bitmapowy na atrybucie samochód Klient BMW Ford Honda Nissan C1 0 1 0 0 C2 0 0 1 0 C3 0 0 1 0 C4 0 1 0 0 C5 1 0 0 0 C6 0 0 0 1

Indeks bitmapowy: Pozwala na efektywne operacja bitowe, Można skompresować mapy bitowe (potrzeba dekompresji), Czasami jego działanie jest wspomagane sprzętowo, Jest bardzo wydajny dla pewnego rodzaju zapytań: selekcja na dwóch atrybutach, Słabo się sprawdza przy dużych dziedzinach wartości atrybutów, Trudny do utrzymywania potrzeba reorganizacji gdy zmienia się wielkość relacji. Ilu klientów z Detroit posiada Ford a? Ilu klientów posiada Hondę?

Odwrócona lista z indeksem bitmapowym

Indeksy segmentowe sa zazwyczaj wykorzystywane dla miar lub atrybutów zawierajacych wartości liczbowe, najlepiej całkowite: podejście to pozwala na efektywne agregacje oraz efektywne przetwarzanie warunków przedziałowych. Definition Załóżmy, że wartościami atrybutu a sa liczby całkowite opisane n + 1 cyframi binarnymi. W takim wypadku atrybut a może być przedstawiony jako atrybuty binarne a 0,..., a n, takie że, a = a 0 + 2 a 1 +... + 2 n a n. Każdy atrybut a i może być reprezentowany jako indeks bitmapowy. Zbiór indeksów bitmapowych nałożonych na a i, i = 0,..., n, tworzy indeks segmentowy.

Indeks segmentowy Ilość 5 13 2 6 7 Bitmapa 0101 1101 0010 0110 0111 Indeks segmentowy: B4: 01000 B3: 11011 B2: 00111 B1: 11001

Indeks segmentowy Pytanie Jak efektywnie obliczyć liczbę jedynek w indeksie bitmapowym? Obliczanie sumy: Ilość 5 Indeks segmentowy: 13 B4: 01000 2 B3: 11011 6 B2: 00111 7 B1: 11001 Suma: 33 Zliczenie sumy: 1 2 3 + 4 2 2 + 3 2 1 + 3 2 0 = 8 + 16 + 6 + 3 = 33. Zliczenie jedynek: B4: 1 B3: 4 B2: 3 B1: 3

Indeks projekcji Dane moga być zorientowane horyzontalnie (poziomo) lub wertykalnie (pionowo). Zazwyczaj relacyjne SZBD przechowuja dane w orientacji horyzontalnej. Indeks projekcji pozwala na dostęp w sposób pionowy (implementacja w systemie firmy Sybase).

Indeks połaczeniowy Przechowuje informacje na temat połaczeń z inna relacja.

Indeks połaczeniowy Przechowuje informacje na temat połaczeń z inna relacja.

Plan wykładu 1 Optymalizacja w systemach OLAP 2 Operacje złaczenia 3 Indeksy 4 Dane zagregowane 5 Podsumowanie

Dane zagregowane Krata kuboidów.

Dane zagregowane Przechowywanie w hurtowni danych wyników użytecznych dla wielu zapytań.

Dane zagregowane Operacje na kostce: SELECT Data, Produkt, Klient, SUM(ilosc) FROM Transakcje GROUP BY CUBE(date, produkt, klient); Dla powyższego zapytanie należy zrealizować następujace grupowanie: (data, produkt, klient), (data, produkt), (data, klient), (produkt,klient), (data), (produkt), (klient) (*)

Trzy strategie agregowania: wszystko, nic, część. Dane zagregowane Problem polega na wybraniu odpowiednich elementów i ich liczby do zmaterializowania. Duża liczba duże rozmiary hurtowni danych. Mała liczba wolne działanie hurtowni danych.

Materializacja wszystkich kuboidów: Kuboidy moga być przechowywane w pamięci stałej, Podczas obliczania należy wziać pod uwagę pojemność pamięci operacyjnej oraz czas obliczeń, 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: 10 wymiarów, 4 poziomy każdy: l = 5 10 = 9, 8 10 6.

Materializacja wszystkich kuboidów dla ROLAP: Sortowanie, haszowanie i grupowanie jest stosowane na atrybutach wymiarów w celu uporzadkowania i grupowania odpowiednich krotek, Grupowanie jest przeprowadzone na podagregatach jako krok częściowego grupowania, Agregaty sa obliczane z podagregatów.

Materializacja wszystkich kuboidów dla MOLAP Array Based Algorithm: Najbardziej szczegółowy Cuboid (np. data, produkt, klient) jest zapamiętany w postaci wielowymiarowej kostki, Kostka dzielona jest na równej wielkości podkostki o rozmiarach pozwalajacych na umieszczenie w pamięci operacyjnej, Podkostki sa zapamiętywane osobno oraz poddawane kompresji, Agregaty obliczane sa poprzez odwiedzanie każdej podkostki w porzadku, który zapewnia najmniejsza ilość pamięci zajętej przez obliczenia częściowe.

Array Based Algorithm Przykład I Trzy wymiary A, B, C, Podkostka 1 = a 0 b 0 c 0, Podkostka 2 = a 1 b 0 c 0, Podkostka 64 = a 3 b 3 c 3, Rozmiar kostki w każdym wymiarze A, B, C jest odpowiednio 40, 400, 4000, Rozmiar podkostki to 10, 100, 1000, odpowiednio, Pełna materializacja składa się z kuboidów: ABC (istnieje), AB, AC, BC, A, B, C, (*).

Array Based Algorithm Przykład I Rożne sposoby numerowania Obliczenie podkostki b 0 c 0 przejście od 1 do 4, Obliczenie podkostki b 1 c 0 przejście od 5 do 8, W ten sposób można obliczyć cały BC tylko jedna podkostka BC jest w pamięci podczas obliczania BC, Obliczajac BC musimy odwiedzić wszystkie (64) podkostki, Obliczenie wszystkich podagregatów: przy obliczaniu b 0 c 0 możemy obliczyć b 0 c 0, a 0 c 0, a 0 b 0.

Array Based Algorithm Przykład I Rożne sposoby numerowania, Potrzebna pamięc: BC = 400 4000 = 1, 6mln AC = 40 4000 = 160000 AB = 40 400 = 16000 Najmniejsza podkostka obliczana jest najdłużej a 0 b 0 jest obliczona po odwiedzeniu 1, 17, 33 i 49, Największa podkostka obliczana jest najkrócej b 0 c 0 jest obliczona po odwiedzeniu 1, 2, 3 i 4.

Array Based Algorithm Przykład I Minimalna potrzebna pamięć do obliczenia agregatów: 40 400(AB) + 40 1000(wiersz AC) + 100 1000(podkostka BC) = 16, 000 + 40, 000 + 100, 000 = 156, 000

Array Based Algorithm Przykład I Inny sposób numerowania Minimalna potrzebna pamięć do obliczenia agregatów: 40 400(AB) + 400 1000(wiersz BC) + 10 1000(podkostka AC) = 16, 000 + 400, 000 + 10, 000 = 426, 000

Array Based Algorithm Przykład I Najgorszy przypadek: 400 4000(BC) + 10 4000(wiersz AC) + 10 100(podkostka AB) = 1600000 + 40, 000 + 1, 000 = 1, 641, 000

Array Based Algorithm Przykład II Pamięć:

Array Based Algorithm Przykład II Pamięć: 1 1 1 1 1 1 1 1 2 2 2 2 4 4 1 1 1 1 1 1 1 1

Array Based Algorithm Przykład II Pamięć: 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 8 8

Array Based Algorithm Przykład II Pamięć: 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 4 4 4 4 2 2 2 2 2 2 2 2

Plan wykładu 1 Optymalizacja w systemach OLAP 2 Operacje złaczenia 3 Indeksy 4 Dane zagregowane 5 Podsumowanie

Podsumowanie Systemy OLAP służa do efektywnego wielowymiarowego przetwarzania ogromnym wolumenów danych, Podstawowe techniki optymalizacji: operacje złaczenia, indeksy, wczesna agregacja danych,...

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) Systemy OLAP Analiza i eksploracja danych Rozmyte zapytania do baz danych Internet jako baza danych (Dawid Weiss)