Data Warehouse Physical Design: Part III

Podobne dokumenty
Hurtownie danych - przegląd technologii

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

Podstawy sztucznej inteligencji

PARTYCJONOWANIE GRAFÓW A OPTYMALIZACJA WYKONANIA ZBIORU ZAPYTAŃ EKSPLORACYJNYCH

Optymalizacja poleceń SQL Metody dostępu do danych

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Tematy projektów Edycja 2014

Problemy z ograniczeniami

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

Modele danych - wykład V

Wprowadzenie do hurtowni danych

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

Tematy projektów Edycja 2019

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

Zapytania z ograniczeniem czasowym w Oracle

Modelowanie motywów łańcuchami Markowa wyższego rzędu

Informatyzacja przedsiębiorstw

Schemat programowania dynamicznego (ang. dynamic programming)

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

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

Badania w sieciach złożonych

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Michał Kozielski Łukasz Warchał. Instytut Informatyki, Politechnika Śląska

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

Wstęp do Business Intelligence

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

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







Optymalizacja zapytań. Proces przetwarzania i obliczania wyniku zapytania (wyrażenia algebry relacji) w SZBD

Gry Leonardo Robert Żak

Klasyfikacja materiałów dźwiękowych w oparciu o algorytm zbiorów domkniętych


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

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

Metody Inżynierii Wiedzy

SZTUCZNA INTELIGENCJA

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Metody Obliczeniowe w Nauce i Technice

Tematy projektów HDiPA 2015

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

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

Optymalizacja poleceń SQL

Tematy projektów Edycja 2017

Sortowanie przez wstawianie

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

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

Matematyczne Podstawy Informatyki

Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network

Metody Obliczeniowe w Nauce i Technice

CLUSTERING II. Efektywne metody grupowania danych

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Definicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n )

Kolorowanie wierzchołków grafu

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

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

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

Digraf. 13 maja 2017

Zad. 1. Systemy Baz Danych przykładowe zadania egzaminacyjne

Tabela wewnętrzna - definicja

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension)

Hurtownie danych a transakcyjne bazy danych

Schematy logiczne dla hurtowni danych

Złożoność czasowa algorytmów wypełniania stron w metodzie materializowanej listy agregatów

Hurtownie danych wykład 3

Hurtownie danych - przegląd technologii

Integracja systemów transakcyjnych

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

System pamięci. Pamięć wirtualna

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Matematyka Dyskretna - zadania

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

Rozszerzenia grupowania

060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła

Przetwarzanie Materializowanej Listy Agregatów rozbudowanej o bufory LRU

Hurtownie danych. Rola hurtowni danych w systemach typu Business Intelligence

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

Bazy danych - BD. Organizacja plików. Wykład przygotował: Robert Wrembel. BD wykład 5 (1)

Sortowanie. Bartman Jacek Algorytmy i struktury

Przestrzeń algorytmów klastrowania

Technologia HD w IBM DB2

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

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

Bazy danych. Andrzej Łachwa, UJ, /15

Wielowymiarowy model danych

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Tadeusz Pankowski

Przykład Rezygnacja z usług operatora

Algorytmy ewolucyjne (3)

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

Indeksowanie w bazach danych

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Metody przeszukiwania

Transkrypt:

Data Warehouse Physical Design: Part III Robert Wrembel Poznan University of Technology Institute of Computing Science Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Lecture outline Group By optimization R.Wrembel - Poznan University of Technology 2

Small cuboid - 2D GROUP BY CUBE (product, customer) GROUP BY product, customer GROUP BY product GROUP BY customer GROUP BY () product customer product, customer R.Wrembel - Poznan University of Technology 3 Dimension hierarchy dimension Customer dimension Product age_group type group customer product Product Customer p t g c Product Customer p t g a Product Customer p t g R.Wrembel - Poznan University of Technology 4

Dimension hierarchy R.Wrembel - Poznan University of Technology 5 3D rollup GROUP BY ROLLUP (sklep, produkt, data) GROUP BY sklep, produkt, data GROUP BY sklep, produkt GROUP BY sklep GROUP BY () 6

3D cuboid GROUP BY CUBE (sklep, produkt, data) GROUP BY sklep, produkt, data GROUP BY sklep, produkt GROUP BY sklep, data GROUP BY produkt, data GROUP BY sklep GROUP BY produkt GROUP BY data GROUP BY () 7 4D cuboid total produkt sklep klient data produkt, sklep produkt, klient sklep, klient produkt, data sklep, data klient, data produkt, sklep, klient produkt, sklep, data sklep, klient, data produkt, klient, data Lattice Cuboid, hypercube produkt, sklep, klient, data 8

9 Optymalizacja GROUP BY S P D 13 ( ) 3 5 6 11 14 16 SP SD PD Założenia: dla każdego schematu grupowania znana liczba unikalnych wartości koszt wyliczenia na podstawie węzła podrzędnego 18 20 23 30 Cel optymalizacji wyznaczyć wszystkie schematy grupowania w sposób minimalizujący sumę kosztów 9 Techniki optymalizacji Najmniejszy węzeł rodzica (smallest parent) obliczenie grupowania wyższego poziomu na podstawie najmniejszego (rozmiarowo) grupowania niższego poziomu Buforowanie wyników w RAM (cache results) wyniki grupowania są wykorzystane do następnego grupowania group by -> group by SP -> group by S Ograniczenie odczytów z dysku (amortize scans) w czasie jednego odczytu z dysku wyliczanych jest wiele schematów grupowania np. jeśli wynik grupowania jest składowany na dysku to wylicza się SP, SD, PD 10

Techniki optymalizacji Współdzielenie wyników sortowania (share sorts) jeden schemat sortowania jest wykorzystany do wyliczania wielu schematów grupowania Podział dużej tabeli na części (partycje) zastosowanie haszowania do każdej części scalanie części (możliwe dla funkcji addytywnych) współdzielenie części dla wielu schematów grupowania Agarwal S., Agrawal R., Deshpande M. P., Gupta A., Naughton F. J., Ramakrishnan R., Sarawagi S.: On the Computation of Multidimensional Aggregates. VLDB, 1996 Ross K. A., Srivastava D.: Fast Computation of Sparse Datacubes. VLDB, 1997 Beyer K, Ramakrishnan R.: Bottom-Up Computation of Sparse and Iceberg Cubes. SIGMOD, 1999 Wang W., Feng J., Lu H., Xu Yu J.: Condensed Cube: An Effective Approach to Reducing Data Cube Size. ICDE, 2002 Lakshmanan L., Pei J., Han J.: Quotient cube: How to summarize the semantics of a data cube. VLDB, 2002 Chen Z., Narasayya V.: Efficient Computation of Multiple Group By Queries. SIGMOD, 2005 Morfonios K., Ioannidis Y.: CURE for Cubes: Cubing Using a ROLAP Engine. VLDB, 2006 11 Algorytm PipeSort 9 S P D SP SD PD 20 ( ) 3 5 6 13 16 11 14 23 30 18 Przeszukiwanie grafu Dla każdego poziomu znajdowana jest krawędź o najmniejszym koszcie Wykonywanie grupowania Buforowanie wyników grupowania z poziomu niższego () S SP P SP D SD PD 12

Algorytm PipeHash Koncepcja jak PipeSort Założenie: znane jest oszacowanie rozmiaru wierzchołka grafu (wyniku schematu grupowania) Zamiast sortowania wykorzystywane haszowanie 13 Algorytm Overlap Koncepcja jak PipeSort Założenie: znane jest oszacowanie rozmiaru wierzchołka grafu (wyniku schematu grupowania) Przeglądanie grafu w szerz na każdym poziomie Wynik grupowania jest dzielony na części Żabka1 łaciate 2% 3.50 Żabka1 kajzerka 7.70 Żabka2 Polityka 9.00 Żabka2 łaciate 2% 3.50 Żabka2 kajzerka 7.70 Żabka2 Polityka 9.00 SP SD 14

Algorytmy Memory-Cube i Partitioned-Cube Memory-Cube zakłada, że dane zmieszczą się w RAM i sortowanie będzie możliwe w RAM Partitioned-Cube zakłada, że dane nie zmieszczą się w RAM podział danych na grupy ze względu na atrybuty grupujące, np. sklep, produkt, data dla każdej unikalnej wartości atrybutu wiodącego, np. sklep in {Żabka1, Żabka2,...} w agregacie na poziomie k oblicz agregaty na poziomach k+i za pomocą Memory- Cube 15 Algorytmy optymalizacji 16