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

Podobne dokumenty
Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Indeksy w hurtowniach danych

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

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

Wykład XII. optymalizacja w relacyjnych bazach danych

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

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

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

Hurtownie danych - przegląd technologii

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

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

Data Mining Wykład 3. Algorytmy odkrywania binarnych reguł asocjacyjnych. Plan wykładu

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

Optymalizacja poleceń SQL Metody dostępu do danych

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

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

dr inż. Olga Siedlecka-Lamch 14 listopada 2011 roku Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Eksploracja danych

OLAP i hurtownie danych c.d.

Wielowymiarowy model danych

Optymalizacja poleceń SQL

Spis treści. Przedmowa

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

1 Wstęp do modelu relacyjnego

1. Odkrywanie asocjacji

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

KARTA PRZEDMIOTU. Hurtownie i eksploracja danych D1_5

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

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

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

Integracja technik eksploracji danych ]V\VWHPHP]DU]G]DQLDED]GDQ\FK QDSU]\NáDG]LH2UDFOHi Data Mining

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

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel

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

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

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

Teoretyczne podstawy informatyki

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Transformacja wiedzy w budowie i eksploatacji maszyn

Specjalizacja magisterska Bazy danych

Tematy projektów Edycja 2014

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

Strumieniowe bazy danych

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17

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

Zapytania z ograniczeniem czasowym w Oracle

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Model relacyjny. Wykład II

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

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

Hurtownie danych - przegląd technologii

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

Tworzenie aplikacji bazodanowych

Modele danych - wykład V

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Hurtownie danych. 31 stycznia 2017

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Inżynieria biomedyczna

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Algorytmy optymalizacji zapytań eksploracyjnych z wykorzystaniem materializowanej perspektywy eksploracyjnej

Kostki OLAP i język MDX

Algorytmy klasyfikacji

Model relacyjny. Wykład II

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

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

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

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

Post-relacyjne bazy danych

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

Optymalizacja zapytań część I

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Metody selekcji cech

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

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

Haszowanie (adresowanie rozpraszające, mieszające)

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

Technologie baz danych

Oracle11g: Wprowadzenie do SQL

Szyfrowanie danych w SZBD

Szczegółowy opis przedmiotu zamówienia

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Zalew danych skąd się biorą dane? są generowane przez banki, ubezpieczalnie, sieci handlowe, dane eksperymentalne, Web, tekst, e_handel

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Wielkie wolumeny danych są trudne w analizowaniu. system satelitarnej obserwacji EOS zbudowany przez NASA generuje

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

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

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Geologii, Geofizyki i Ochrony Środowiska. Bazy danych 2

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Optymalizacja wydajności SZBD

Hurtownie danych a transakcyjne bazy danych

Jerzy Nawrocki, Wprowadzenie do informatyki

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

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

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

Jakub Pilecki Szymon Wojciechowski

XML w bazie danych IBM DB2

Transkrypt:

Techniki indeksowania w eksploracji danych Maciej Zakrzewicz Instytut Informatyki Politechnika Poznańska Plan prezentacji Zastosowania indeksów w systemach baz danych Wprowadzenie do metod eksploracji baz danych: odkrywanie asocjacji odkrywanie ciągów Problemy wydajności algorytmów eksploracji danych Zastosowanie indeksów grupowych (sygnaturowych) do poprawy wydajności algorytmów Wyniki eksperymentalne Motywacje Zapotrzebowanie na szybką eksplorację danych (On-Line Data Mining) Dotychczasowe prace badawcze skupiały się na optymalizacji części obliczeniowej algorytmów eksploracji danych ([AIS9], [AS9], [FPS96b], [HF95], [MZ97], [SON95], [SA95], [Toiv96]) Tradycyjne zapytania bazodanowe są najskuteczniej optymalizowane przy pomocy indeksów Nie rozważano dotychczas stosowania indeksów dla potrzeb eksploracji danych Indeksy w bazach danych redukcja liczby operacji we/wy podczas realizacji zapytań; indeksy stanowią podstawę optymalizacji zapytań; rozmiar indeksu jest znacznie mniejszy od rozmiaru oryginalnej relacji indeks jest strukturą danych, która a priori materializuje pośrednie wyniki wykonywania zapytań w praktyce stosowanych jest wiele rodzajów indeksów: B-drzewa (jednowymiarowe warunki równościowe i nierównościowe), bitmapowe (jednowymiarowe warunki równościowe dla atrybutów o niskiej krotności), R-drzewa, Quad-drzewa (wielowymiarowe warunki równościowe i nierównościowe), materializowane perspektywy (zapytania złożone)

Klasyczne zastosowania indeksów Zastosowanie indeksów podczas realizacji zapytań: implementacja warunków selekcji, np. select nazwisko from pracownicy where pensja < ; implementacja operacji połączenia, np. select nazwisko, poj_silnika from pracownicy, samochody where pracownicy.nr_rej = samochody.nr_rej; implementacja operacji sortowania, np. select nazwisko from pracownicy order by pensja; realizacja kompletnego zapytania bez dostępu do relacji, np. select sum(pensja) from pracownicy; Eksploracja danych odkrywanie asocjacji Dane wejściowe: relacyjna baza danych zawierająca zbiory nieuporządkowane, np.: set_id item 7 7 5 7 {,7,,7} {,} {,5,7} Cel: znaleźć najczęściej występujące podzbiory, np. {}, {7}, {,7} zawierają się w 66% zbiorów Eksploracja danych w bazach danych Zapytania operacyjne (SQL): operacje połączenia relacji, selekcji krotek, projekcji atrybutów, agregacji, np. "wyświetl daty wszystkich sprzedaży towaru x" indeksy B-drzewa Zapytania analityczne (OLAP): data-cube, zwijanie, rozwijanie, wycinanie, obracanie, np. "porównaj sprzedaż towaru x ze sprzedażą towaru y, w zależności od pory roku i regionu" indeksy bitmapowe, materializowane perspektywy Zapytania eksploracyjne (Data Mining): odkrywanie asocjacji, sekwencji, modelu klasyfikacji, zgrupowań, np. "wyświetl wszystkie towary, których sprzedaż wpływa na sprzedaż towaru x"??? nisza badawcza Eksploracja danych odkrywanie ciągów Dane wejściowe: relacyjna baza danych zawierająca zbiory uporządkowane, np.: set_id ts item 7 7 5 7 7 7 5 7 Cel: znaleźć najczęściej występujące podciągi, np. 7 zawiera się w 66% ciągów

Schemat algorytmów odkrywania asocjacji i ciągów znalezienie najczęstszych asocjacji -elem. asocjacji -elementowych na podstawie znalezionych -elementowych weryfikacja najczęstszych asocjacji -elem. asocjacji -elementowych na podstawie znalezionych -elementowych weryfikacja najczęstszych asocjacji -elem.... Wykorzystanie indeksów do poprawy wydajności algorytmów Konieczność kompozycji znormalizowanych zbiorów indeks B-drzewo na identyfikatorach zbiorów (set_id) Wielokrotne pełne odczyty bazy danych Badanie zawierania się zbiorów Bardzo duży rozmiar bazy danych Problemy wydajnościowe algorytmów Konieczność kompozycji znormalizowanych zbiorów: krotki reprezentujące elementy jednego zbioru są zwykle rozproszone fizycznie Wielokrotne pełne odczyty bazy danych: liczba odczytów jest zależna od maksymalnej długości odkrytych asocjacji/ciągów Badanie zawierania się zbiorów: każda potencjalnie częsta asocjacja/ciąg musi być sprawdzona względem każdego zbioru bazowego Bardzo duży rozmiar bazy danych: w praktyce setki tysięcy lub miliony zbiorów bazowych Własności indeksów grupowych (sygnaturowych) Służą do optymalizacji problemu zawierania podzbiorów: "znajdź wszystkie zbiory bazowe, które zawierają podany podzbiór" Stosują haszową bitową reprezentację zbiorów; ich rozmiar jest znacząco mniejszy od rozmiaru oryginalnej bazy danych (np. 8MB baza danych MB indeks grupowy) Umożliwiają znalezienie nadzbioru poprawnego wyniku: wymagana jest wtórna weryfikacja, eliminująca fałszywe wyniki

Tworzenie indeksu grupowego (sygnaturowego) dla zbiorów nieuporządkowanych baza danych set_id item 7 7 5 7 sygnatury Właściwość sygnatur: "Jeżeli sygnatura(x) AND sygnatura(y) = sygnatura(x), to X Y " Twierdzenie odwrotne nie jest prawdziwe Zastosowanie indeksów grupowych znalezienie najczęstszych asocjacji -elem. asocjacji -elementowych na podstawie znalezionych -elementowych weryfikacja najczęstszych asocjacji -elem. asocjacji -elementowych na podstawie znalezionych -elementowych weryfikacja najczęstszych asocjacji -elem.... Tworzenie indeksu grupowego (sygnaturowego) dla zbiorów uporządkowanych uporządkowanie 7 7 7 7 7 7 sygnatura uporządkowania (su) baza danych set_id ts item 7 7 5 7 zawartość sygnatura zawartości (sz) Właściwość sygnatur: "Jeżeli sz(x) AND sz(y) = sz(x) oraz su(x) AND su(y) = su(x) to ciąg Y zawiera ciąg X" Twierdzenie odwrotne nie jest prawdziwe Obserwacje pracy algorytmu Pierwsza iteracja algorytmu: powinna być wykonana na oryginalnej bazie danych w celu redukcji propagacji fałszywych wyników Indeks grupowy nie musi wcześniej istnieć może zostać dynamicznie utworzony podczas pierwszej iteracji Niektóre iteracje powinny wykorzystywać oryginalną bazę danych w celu redukcji propagacji fałszywych wyników nadmiar fałszywych wyników zwiększa konsumpcję pamięci operacyjnej i zmniejsza wydajność kroku weryfikacji Wynik końcowy musi zostać zweryfikowany w oparciu o oryginalną bazę danych

Implementacja algorytmu Średni rozmiar zbiorów 5 elementów (z 5) Sztucznie wygenerowany zbiór danych, parametry rozkładu statystycznego jak w innych pracach, (IBM GEN) Zbiór danych symuluje dziennik dostępów do serwera WWW Dane w bazie danych Oracle8i (Pentium II MHz, 8 MB RAM) Algorytm zaimplementowany po stronie klienta (Pentium II MHz, 8 MB RAM) Implementacja w C++ Czas wykonania algorytmu 8 6 execution time [s] Rozmiar wyników pośrednich Ha s h-mine (s ta rt a t ) 5 Apriori 5 5 5 6 7 8 9 iteratio n Apriori (7 s c a ns ) Ha s h-mine ( s c a ns ) Ha s h-mine ( s c a ns ) 5 6 database size (#itemsets) Podsumowanie Indeksy grupowe umożliwiają poprawę wydajności algorytmów eksploracji danych poprzez: redukcję rozmiaru bazy danych automatyczną kompozycję znormalizowanych zbiorów skrócenie czasu badanie zawierania zbiorów Problemy stosowania indeksów grupowych: konieczność końcowej weryfikacji wyniku propagacja fałszywych wyników (pamięć, przetwarzanie) Plany badawcze: odkrywanie skupień i klasyfikatorów w oparciu o indeksy grupowe automatyczna optymalizacja zapytań eksploracyjnych (w jakich przypadkach i w których iteracjach korzystać z indeksów) number of frequent itemsets