Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU



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

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

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

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

Hurtownie danych. Metadane i czynniki jakości. BAZA METADANYCH. Centralna hurtownia danych. Metadane

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

Hurtownie danych. 31 stycznia 2017

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

Wstęp do Business Intelligence

OLAP i hurtownie danych c.d.

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

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

Hurtownie danych. Rola hurtowni danych w systemach typu Business Intelligence

Oracle11g: Wprowadzenie do SQL

Rady i porady użytkowe

Wykład XII. optymalizacja w relacyjnych bazach danych

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

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

Hurtownie danych - przegląd technologii

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Wprowadzenie do technologii Business Intelligence i hurtowni danych

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

WPROWADZENIE DO BAZ DANYCH

Hurtownie danych wykład 3

Pierwsze wdrożenie SAP BW w firmie

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

Hurtownie danych a transakcyjne bazy danych

Ewolucja technik modelowania hurtowni danych

Bazy danych Access KWERENDY

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

Hurtownie danych - przegląd technologii

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

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

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

4. Znaczenie czasu w modelowaniu i strukturalizacji danych

Systemy GIS Tworzenie zapytań w bazach danych

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Autor: Joanna Karwowska

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

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

Teoretyczne podstawy informatyki

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

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE

Wielowymiarowy model danych

Bazy analityczne (hurtownie danych, bazy OLAP)

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Zastosowanie relacyjnych baz danych w Systemach Informacji Geograficznej

Hurtownie danych w praktyce

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

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

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

Hurtownia danych praktyczne zastosowania

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

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

Model relacyjny. Wykład II

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

1 Wstęp do modelu relacyjnego

Rozwiązania wspomagające przetwarzanie wielkich zbiorów danych (VLDB) we współczesnych systemach zarządzania bazami danych

Bazy danych 2013/14. Egzamin. (5 pkt). Baza danych przechowuje w relacji binarnej G graf skierowany.

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

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

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

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

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

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Pojęcie systemu informacyjnego i informatycznego

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

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

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

RELACYJNE BAZY DANYCH

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

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

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

Część I Istota analizy biznesowej a Analysis Services

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

Schematy logiczne dla hurtowni danych

Wykład :45 BD-1 W_3

Alicja Marszałek Różne rodzaje baz danych

Relacyjne bazy danych a XML

Bazy danych. Dr inż. Paweł Kasprowski

Indeksowanie w bazach danych

Tadeusz Pankowski

Wprowadzenie do hurtowni danych

SQL do zaawansowanych analiz danych część 1.

Analityka danych w środowisku Hadoop. Piotr Czarnas, 27 czerwca 2017

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

Hurtownie danych. Wprowadzenie do systemów typu Business Intelligence

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

Fazy przetwarzania zapytania zapytanie SQL. Optymalizacja zapytań. Klasyfikacja technik optymalizacji zapytań. Proces optymalizacji zapytań.

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

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

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

QUERY język zapytań do tworzenia raportów w AS/400

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Wykład 8. SQL praca z tabelami 5

STROJENIE PRZETWARZAŃ SAS

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Ćwiczenia z Zaawansowanych Systemów Baz Danych

Transkrypt:

Hurtownie danych Przetwarzanie zapytań. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Magazyny danych operacyjnych, źródła Centralna hurtownia danych Hurtownie tematyczne Zaplecze (back end) Zapytania przetwarzane w ODS, bazach źródłowych, programach ładujących (wrappers). Przeważnie zapytania dotyczące aktualizacji i czyszczenia: proste zapytania, duże ilości danych w odpowiedzi. Część agregacji może być policzona już podczas ładowania danych (propagacja aktualizacji).

Magazyny danych operacyjnych, źródła ZAPYTANIA W JĄDRZE Centralna hurtownia danych Hurtownie tematyczne Jądro (core) Zapytania przetwarzane w centralnym magazynie danych. Systemy hurtowni danych mają zwykle znaczny poziom redundancji danych, co ma przyspieszyć wykonywanie najczęstszych zapytań. Obliczanie zapytań dotyczy wielkich ilości danych, jednak wynik zwykle jest niewielki (np. podsumowania). ZAPYTANIA NA KOŃCÓWKACH Magazyny danych operacyjnych, źródła Centralna hurtownia danych Hurtownie tematyczne Zapytania przetwarzane w ramach hurtowni tematycznych (OLAP, DSS, KDD). Skomplikowane zapytania dające w odpowiedzi niewielki zbiór danych. Dążymy do tego, żeby większość zapytań nie musiała sięgać do danych z niższych poziomów (w tym jądra). Końcówki (front end) 2

REDUNDANCJA - WADY I ZALETY Redundancja danych w hurtowni oznacza przechowywanie zmaterializowanych perspektyw wykorzystywanych do obliczania zapytań. Wady: - większy koszt przechowywania danych, - trudniejsza aktualizacja, - ryzyko utraty integralności. Przykład: schemat agregacji przechowywanych dla określonych zdarzeń agregacja gruboziarnista Jedyną (ale zasadniczą) zaletą jest znaczne przyspieszenie realizacji zapytań ustalonego rodzaju najświeższe fakty agregacja drobnoziarnista czas RODZAJE ZAPYTAŃ Zapytania transakcyjne dotyczą zwykle tylko kilku rekordów, lecz występują w bardzo dużych ilościach. Ten rodzaj zapytań nie jest charakterystyczny dla hurtowni danych. Zapytania predefiniowane formułowane są przez administratora i wywoływane wielokrotnie (np. dla różnych zakresów czasowych). Mają zwykle postać zapytań sparametryzowanych. Mogą być zawczasu zoptymalizowane. Zapytania bieżące (ad hoc) zadawane są przez analityków i mają nieprzewidywalną postać. Muszą być optymalizowane w locie. 3

ZAPYTANIA WIELOWYMIAROWE Zapytania dotyczące wymiarów Grupa zapytań dotyczących przeglądania i grupowania atrybutów wymiarów. W modelu gwiazdy jest to proste przeglądanie pojedynczych tablic, w modelu płatka śniegu wymaga użycia złączeń. Optymalizacja: definiowanie grup powiązanych (predefiniowanych zapytań dotyczących często używanych wartości wymiarów, np. produkty pochodzące spoza Europy ) lub grup zachowań (predefiniowanych zapytań zależnych również od faktów, np. produkty chętnie kupowane przed wakacjami ). Zapytania dotyczące faktów Zapytania generujące raporty. Mogą być realizowane za pomocą zapytań predefiniowanych, a także optymalizowane z góry poprzez np. rozbicie na mniejsze zapytania. W modelu ROLAP wymaga użycia złączeń. PRZETWARZANIE ZAPYTAŃ Kierunki optymalizacji: - Indeksy (optymalizacja dostępu do danych) - Indeksy złączeń - Optymalizacja kolejności obliczania wyniku - Wykorzystanie redundancji (perspektyw zmaterializowanych) - Szacowanie wielkości perspektywy zmaterializowanej 4

INDEKSY Standardowa technika przechowywania danych: wierszami (łatwy dostęp do rekordu, trudniejsze filtrowanie wartości konkretnej kolumny). Indeks projekcji: ciąg, którego elementami są kolejne (dla kolejnych rekordów) wartości określonej kolumny a. Indeks list wartości: B-drzewo, którego węzłami są wartości kolumny a z doczepionymi listami rekordów mającymi daną wartość: - łatwo liczyć sumy - szybkie wyszukiwanie - skuteczne dla kolumn z wieloma wartościami...... C...... A 4 B 2 3 C 5 INDEKSY MAPY BITOWE I SEGMENTOWE Mapy bitowe: ciągi binarne przypisane każdej wartości kolumny a zawierające na pozycjach odpowiadających danej wartości: - łatwo liczyć sumy - szybkie liczenie warunków AND, OR - skuteczne dla kolumn z niewielką liczbą wartości Indeksy segmentowe: zamieniamy wartości na liczby całkowite i zapisujemy osobno każdą pozycję binarną: - łatwo liczyć sumy - oszczędna reprezentacja, kolumna może mieć wiele wartości...... C............ C...... A= B=2 C=3 A B b C b 2 5

INDEKSY ZŁĄCZEŃ W schemacie gwiazdy lub płatka śniegu możemy użyć dowolnego z powyższych rodzajów indeksów w celu powiązania tablicy faktów z tablicą wymiaru: Klient (wymiar) Klient_id... Grupa 24622... A 3292... A 42775... A 49942... B... Sprzedaż (fakty) Klient_id... Wartość 24622... 2.4 3292... 47.5... 49942... 6.39 42775... 53.69 49942... 6.39 Indeks dla wartości [Klient].[Grupa] A. B. C. KOLEJNOŚĆ OBLICZEŃ SELECT Prod.rok_wprowadzenia, SUM(Sprzedaż.cena) FROM Sprzedaż, Sklep, Produkt WHERE Sprzedaż.prod_id = Prod.prod_id AND Sprzedaż.sklep_id = Sklep.sklep_id AND Sklep.region = AAA AND Sprzedaż.rok = 999 GROUP BY Prod.rok_wprowadzenia Tradycyjna kolejność: najpierw tworzymy złączenie tablic, filtrujemy Sprzedaż ze względu na sklep i rok, potem grupowanie względem rok_wprowadzenia. Przeplatanie grupowania i złączenia: Przeprowadzamy agregację po Prod.prod_id (tworzymy w ten sposób znacznie mniejszą tablicę pośrednią). Sumujemy w niej Sprzedaż.cenę według kryteriów ze złączenia, na końcu grupujemy po Prod.rok_wprowadzenia. 6

WYKORZYSTANIE REDUNDANCJI Problem użyteczności perspektyw Które perspektywy zmaterializowane mogą być użyte do obliczania konkretnego zapytania? Problem zawierania zapytań: czy wynik zapytania Q może być obliczony na podstawie wyniku zapytania Q 2? Proste przykłady: - zapytania, których zbiór wierszy w odpowiedzi jest ograniczony dodatkowym warunkiem (dopasowanie dokładne) - zapytania których ziarnistość agregacji jest mniejsza od oryginalnej (dopasowanie niedokładne) WYKORZYSTANIE REDUNDANCJI - PROBLEMY Przykład Mamy zapytanie: SELECT SUM(...)... FROM... WHERE f(...) gdzie f(...) to dowolny warunek logiczny. Mamy do dyspozycji policzone uprzednio: SELECT SUM(...)... FROM... WHERE g(...) gdzie g(...) to inny warunek logiczny. Czy pierwsze zapytanie może być zastąpione drugim? Problem ten jest co najmniej tak trudny, jak problem SAT (spełnialności formuł logicznych), a więc w praktyce może się okazać wykładniczo trudny. W ogólności problem zawierania zapytań jest nierozstrzygalny. 7

SZACOWANIE WIELKOŚCI ODPOWIEDZI Operacja przydatna podczas planowania kolejności wykonywania obliczeń i materializacji perspektyw. Wykorzystujemy szacowanie kombinatoryczne i indeksy (histogramy) wartości kolumn. Przykład: SELECT A.a FROM A, B WHERE A.id=B.id AND B.c=5 AND B.d=3 Załóżmy, że złączenie jest :n, że A ma rekordów, B ma 5 rekordów, B.c=5 dla rekordów, B.d=3 dla 2 rekordów. Przybliżona wielkość wyniku: * ( / 5) * (2 / 5) = 8 Magazyny danych operacyjnych, źródła BAZA METADANYCH Centralna hurtownia danych Hurtownie tematyczne Metadane Baza metadanych (metadata repository) może być wykorzystana m.in. do archiwizacji zapytań (statystyki użycia danych) i szacowania wielkości perspektyw lub kosztu danego planu wykonania zapytania. 8