epu do danych dla algorytmów przetwarzania zbiorów zapytań eksploracyjnych

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

Optymalizacja poleceń SQL Metody dostępu do danych

dmq 1 =(R 1,a 2, 5 a 1 < 20,, 3%), dmq 2 =(R 1,a 2, 0 a 1 < 15,, 5%),

Inżynieria biomedyczna

Wyk lad 7 Baza i wymiar przestrzeni liniowej

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

Grzegorz Mazur. Zak lad Metod Obliczeniowych Chemii UJ. 14 marca 2007

Indeksowanie w bazach danych

Statystyka w analizie i planowaniu eksperymentu

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

1. Odkrywanie asocjacji

Statystyka w analizie i planowaniu eksperymentu

Administracja i programowanie pod Microsoft SQL Server 2000

Drzewa podstawowe poj

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Baza danych. Baza danych to:

Bazy danych Wykład zerowy. P. F. Góra

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

Haszowanie (adresowanie rozpraszające, mieszające)

Metody eksploracji danych w odkrywaniu wiedzy (MED) projekt, dokumentacja końcowa

Statystyka w analizie i planowaniu eksperymentu

Oracle11g: Wprowadzenie do SQL

SYSTEM DIAGNOSTYCZNY OPARTY NA LOGICE DOMNIEMAŃ. Ewa Madalińska. na podstawie prac:

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

WPROWADZENIE DO BAZ DANYCH

Wykład XII. optymalizacja w relacyjnych bazach danych

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

Algorytm DIC. Dynamic Itemset Counting. Magdalena Przygórzewska Karolina Stanisławska Aleksander Wieczorek

Tabela wewnętrzna - definicja

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. EKSPLORACJA DANYCH Ćwiczenia. Adrian Horzyk. Akademia Górniczo-Hutnicza

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

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Operacje na plikach. Organizacja systemu plików. Typy plików. Struktury plików. Pliki indeksowane. Struktura wewn etrzna

Wyk lad 8 macierzy i twierdzenie Kroneckera-Capellego

REGU LY ASOCJACYJNE. Nguyen Hung Son. Wydzia l Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski. 28.II i 6.III, 2008

Sortowanie zewnętrzne

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4

Statystyka w analizie i planowaniu eksperymentu

REGU LY ASOCJACYJNE. Nguyen Hung Son. 25 lutego i 04 marca Wydzia l Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski.

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

Analiza zrekonstruowanych śladów w danych pp 13 TeV

Metody eksploracji danych. Reguły asocjacyjne

PARTYCJONOWANIE GRAFÓW A OPTYMALIZACJA WYKONANIA ZBIORU ZAPYTAŃ EKSPLORACYJNYCH

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Organizacja systemu plików

Ewelina Dziura Krzysztof Maryański

Optymalizacja poleceń SQL

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

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

Materializowane perspektywy eksploracyjne w praktyce: Wnioski z implementacji w Oracle 11g

Indeks odwzorowania zmiennej zespolonej wzgl. krzywej zamknietej

Optymalizacja poleceń SQL Wprowadzenie

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

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

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

ep do matematyki aktuarialnej Micha l Jasiczak Wyk lad 3 Tablice trwania życia 2

Ćwiczenie 5. Metody eksploracji danych

Teoretyczne podstawy informatyki

Wyk lad 14 Cia la i ich w lasności

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

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

Systemy GIS Tworzenie zapytań w bazach danych

STYSTYSTYKA dla ZOM II dr inż Krzysztof Bryś Wykad 1

Definicja pliku kratowego

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Wprowadzenie do baz danych

Wyk lad 2 Podgrupa grupy

Paradygmaty programowania

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

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

Aproksymacja funkcji a regresja symboliczna

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

MECHANIZM PERSPEKTYW MATERIALIZOWANYCH W EKSPLORACJI DANYCH

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

Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

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

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Rachunek zdań - semantyka. Wartościowanie. ezyków formalnych. Semantyka j. Logika obliczeniowa. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Tablice i funkcje. Marcin Makowski. 26 listopada Zak lad Chemii Teoretycznej UJ

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

STATYSTYKA MATEMATYCZNA dla ZPM I dr inż Krzysztof Bryś wyk lad 1,2 KLASYCZNY RACHUNEK PRAWDOPODOBIEŃSTWA

Wyk lad 3 Wyznaczniki

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Zaawansowane algorytmy i struktury danych

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Wyk lad 3 Wielomiany i u lamki proste

SQL SERVER 2012 i nie tylko:

Zastosowanie Robotów. Ćwiczenie 6. Mariusz Janusz-Bielecki. laboratorium

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

Architektura komputerów

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu

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

Transkrypt:

tpd10pjmw 2010/6/1 11:04 page 1 #1 Ścieżki dost epu do danych dla algorytmów przetwarzania zbiorów zapytań eksploracyjnych Piotr J edrzejczak, Marek Wojciechowski Politechnika Poznańska, Piotrowo 2, 60-965 Poznań, Polska Marek.Wojciechowski@cs.put.poznan.pl Streszczenie. Odkrywanie zbiorów czestych można traktować jako realizacje zaawansowanych zapytań do bazy danych, gdzie użytkownik specyfikuje ograniczenia dotyczace selekcji danych źród lowych oraz odkrywanych wzorców. Ponieważ takie zapytania eksploracyjne moga być wysy lane do bazy danych w trybie wsadowym, np. w czasie niewielkiego obciażenia serwera bazy danych, zaproponowano szereg algorytmów przetwarzania zbiorów zapytań eksploracyjnych. Metody te wykorzystuja wspó ldzielenie danych źród lowych miedzy zapytaniami i operuja na logicznych partycjach danych wyznaczonych przez nak ladanie sie źród lowych zbiorów danych. Wszystkie zaproponowane dotychczas algorytmy by ly testowane jedynie w warunkach dostepności bezpośrednich ścieżek dostepu do poszczególnych partycji, zazwyczaj na plikach p laskich. W praktyce dane poddawane eksploracji sa najcześciej sk ladowane w bazach danych, gdzie po pierwsze potencjalnie dostepnych jest wiele różnych ścieżek dostepu do danych, a po drugie dla konkretnych warunków selekcji danych na ogó l dostepne sa tylko niektóre z nich. Celem niniejszego artyku lu jest teoretyczna i praktyczna analiza zachowania sie algorytmów przetwarzania zbiorów zapytań eksploracyjnych w kontekście różnych ścieżek dostepu do danych. 1 Wst ep Odkrywanie zbiorów czestych (ang. frequent itemset mining) jest jedna z podstawowych technik eksploracji danych (ang. data mining), stosowana zarówno samodzielnie jak i jako pierwszy etap w odkrywaniu regu l asocjacyjnych (ang. association rules) [1]. Problem ten zosta l pierwotnie sformu lowany w kontekście analizy koszyka zakupów, ale szybko znalaz l liczne inne zastosowania, do których należa m. in. analiza danych medycznych, spo lecznych i telekomunikacyjnych oraz analiza zachowań użytkowników WWW. W skrócie, odkrywanie zbiorów czestych polega na odkrywaniu najcześciej wystepuj acych podzbiorów w bazie danych zawierajacej zbiory nazywane transakcjami 1. Odkrywanie zbiorów czestych może być postrzegane jako realizacja zaawansowanych zapytań do bazy danych, gdzie użytkownik specyfikuje ograniczenia dotyczace selekcji danych źród lowych oraz zaweżaj ace zbiór odkrywanych wzorców do tych, które z jego 1 Nazewnictwo obowiazuj ace w literaturze poświeconej problemowi odkrywania zbiorów cze- stych odwo luje sie czesto do pojeć używanych w analizie koszyka zakupów, np. baza danych jako kolekcja transakcji klientów.

tpd10pjmw 2010/6/1 11:04 page 2 #2 2 Piotr J edrzejczak, Marek Wojciechowski punktu widzenia sa interesujace [2]. Zapytania reprezentujace zadania odkrywania zbiorów czestych stanowia szczególny przypadek tzw. zapytań eksploracyjnych (ang. data mining queries). W literaturze zaproponowano wiele algorytmów odkrywania zbiorów czestych, różniacych sie przyjetym formatem danych źród lowych, wykorzystywanymi strukturami pamieciowymi, technikami redukcji kosztów I/O itp. Dwie najważniejsze klasy algorytmów wyznacza jednak strategia przeszukiwania przestrzeni rozwiazań. Algorytmy rodziny level-wise, reprezentowane przez klasyczny algorytm Apriori [3], stosuja strategie przeszukiwania wszerz, podczas gdy metody z rodziny pattern-growth, spośród których najbardziej znany jest algorytm FP-growth [4], przeszukuja przestrzeń w g l ab. Chociaż zaproponowano już wiele różnych algorytmów odkrywania zbiorów czestych, efektywne wyekstrahowanie wiedzy z dużych wolumenów danych nie jest zadaniem prostym i proces taki czesto wymaga dużych nak ladów czasowych. D lugi czas wykonywania zapytań eksploracyjnych dotyczacych odkrywania zbiorów czestych przy pomocy aktualnie znanych algorytmów powoduje, iż zapytania te sa nierzadko zbierane i wykonywane wsadowo w dogodnym czasie, gdy obciażenie systemu jest niższe (np. w nocy). Zapytania z takiego zebranego zbioru moga wykazywać pewne podobieństwa miedzy soba, np. poprzez odwo lywanie sie do tych samych zakresów danych. W laśnie to spostrzeżenie stanowi motywacje do zastapienia sekwencyjnego wykonania takiego zbioru zadań wykonaniem wspó lbieżnym, które wykorzystujac fakt wspó ldzielenia danych przez poszczególne zadania pozwoli na efektywniejsze przetwarzanie, zmniejszajac tym samym ca lkowity wymagany na znalezienie odpowiedzi czas [5]. Jak dotad opracowano kilka metod optymalizacji wykonania zbioru zapytań eksploracyjnych dotyczacych odkrywania zbiorów czestych, wykorzystujacych nak ladanie sie na siebie zakresów danych źród lowych poszczególnych zapytań: Mine Merge - niezależna od wykorzystywanego algorytmu odkrywania zbiorów czestych [5], Common Counting [5] i Common Candidate Tree [6] przeznaczone dla algorytmu Apriori oraz Common Building i Common FP-tree [7] opracowane z myśla o algorytmie FP-growth. Dla metod tych, oprócz niezbednej analizy teoretycznej, przeprowadzone zosta ly także praktyczne testy wydajnościowe z wykorzystaniem plików p laskich przy za lożeniu dostepności bezpośrednich ścieżek dostepu do partycji danych wyznaczonych przez nak ladanie sie danych źród lowych zapytań. W rzeczywistości jednak dane poddawane eksploracji sa najcześciej przechowywane w bazach danych, gdzie po pierwsze potencjalnie dostepnych jest wiele różnych ścieżek dostepu do danych, a po drugie dla konkretnych warunków selekcji danych na ogó l dostepne sa tylko niektóre z nich. Celem niniejszego artyku lu jest teoretyczna i praktyczna analiza zachowania sie zaproponowanych dotychczas algorytmów przetwarzania zbiorów zapytań eksploracyjnych dotyczacych odkrywania zbiorów czestych w kontekście różnych ścieżek dostepu do danych. Ze wzgledu na fakt, że metody dla algorytmu FP-growth sa adaptacjami metod wcześniej opracowanych dla algorytmu Apriori, analiza bedzie dokonana jedynie w kontekście algorytmu Apriori, który jest najpowszechniej implementowanym algorytmem odkrywania zbiorów czestych, a ponadto ze wzgledu na wielokrotne odczyty danych źród lowych powinien w wiekszym stopniu niż FP-growth uwypuklić wp lyw ścieżek dostepu na ca lkowity czas procesu eksploracji danych.

tpd10pjmw 2010/6/1 11:04 page 3 #3 Title Suppressed Due to Excessive Length 3 Artyku l wpasowuje sie w tematyke optymalizacji zapytań eksploracyjnych, skupiajac sie na rozwiazaniach, które można interpretować jako optymalizacje zbiorów zapytań (ang. multiple-query optimization). Optymalizacja zbiorów zapytań by la przedmiotem intensywnych badań w kontekście systemów baz danych [8], których celem by lo zbudowanie globalnego planu wykonania wykorzystujacego wspó ldzielenie operacji poszczególnych zapytań. Na gruncie eksploracji danych, poza problemem poruszanym w niniejszym artykule, optymalizacja zbiorów zapytań rozważana by la jedynie w znaczaco różnym problemie odkrywania zbiorów czestych w wielu zbiorach danych [9]. Podobnych rozwiazań do przedstawianych w tej pracy można natomiast doszukać sie w pokrewnej eksploracji danych dziedzinie programowania w logice, gdzie zaproponowano metode zbliżona koncepcyjnie do metody Common Counting [10]. 2 Podstawy teoretyczne 2.1 Podstawowe poj ecia Niech I = {i 1, i 2,..., i n } bedzie pewnym zbiorem litera lów, nazywanych dalej elementami. Transakcja T nazywamy taki zbiór elementów, że T I i T. Mówimy, że transakcja T wspiera element x I, jeżeli x T. Transakcja T wspiera zbiór X I, jeżeli wspiera każdy element ze zbioru X, tj. X T. Wsparciem bezwzglednym zbioru X w pewnym zbiorze transakcji D nazywamy liczbe transakcji T D wspierajacych X. Wsparciem wzglednym zbioru X w pewnym zbiorze transakcji D nazywamy stosunek liczby transakcji T D wspierajacych X do liczby wszystkich transakcji należacych do D i wyrażamy w procentach. Zbiór X I, którego wsparcie jest niemniejsze od pewnej przyjetej wartości minimalnego wsparcia (ang. minimum support), nazywamy zbiorem czestym. Rozmiarem zbioru X nazywamy liczbe znajdujacych sie w nim elementów. 2.2 Sformu lowanie problemu Zapytaniem eksploracyjnym w kontekście problemu odkrywania zbiorów czestych nazywamy uporzadkowan a piatk e dmq = (R, a, Σ, Φ,minsup), gdzie R jest relacja bazy danych, a jest atrybutem relacji R, którego wartościami sa zbiory elementów, Σ jest wyrażeniem warunkowym dotyczacym atrybutów relacji R określanym mianem predykatu selekcji danych, Φ jest wyrażeniem warunkowym dotyczacym odkrywanych zbiorów czestych określanym mianem predykatu selekcji wzorców, a minsup to próg minimalnego wsparcia. Wynikiem zapytania dmq jest kolekcja zbiorów czestych odkrytych w π a σ Σ R, spe lniaj acych predykat Φ, o wsparciu minsup (π i σ oznaczaja relacyjne operacje projekcji i selekcji). Zbiór elementarnych predykatów selekcji danych dla danego zbioru zapytań eksploracyjnych DMQ = {dmq 1,dmq 2,...,dmq n } to najmniejszy pod wzgledem liczebności zbiór S = {s 1, s 2,..., s k } predykatów selekcji danych z relacji R taki, że dla każdej pary u, v (u v) zachodzi σ su R σ sv R = i dla każdego zapytania dmq i istnieja takie liczby ca lkowite a, b,..., m, że σ Σi R = σ sa R σ sb R.. σ sm R. Zbiór elementarnych predykatów selekcji danych reprezentuje podzia l bazy danych na partycje wyznaczone przez nak ladanie sie źród lowych zbiorów danych zapytań.

tpd10pjmw 2010/6/1 11:04 page 4 #4 4 Piotr J edrzejczak, Marek Wojciechowski Dla danego zbioru zapytań eksploracyjnych DMQ = {dmq 1,dmq 2,...,dmq n }, problem optymalizacji wykonania zbioru zapytań eksploracyjnych polega na wygenerowaniu algorytmu minimalizujacego ca lkowity czas wykonania DMQ. 2.3 Algorytm Apriori Wprowadzony w [3] algorytm Apriori dzia la iteracyjnie, każdorazowo odkrywajac zbiory czeste o coraz wiekszym rozmiarze. Opiera sie on na spostrzeżeniu, iż każdy podzbiór zbioru czestego jest także zbiorem czestym. Podczas pierwszej iteracji zliczana jest liczba wystapień każdego pojedynczego elementu i na jej podstawie wyznaczane sa 1- elementowe zbiory czeste. Kolejne iteracje sk ladaj a sie z dwóch faz: fazy generowania zbiorów kandydackich na podstawie zbiorów czestych odkrytych w poprzedniej iteracji oraz fazy ich weryfikacji, podczas której zliczane sa wystapienia i odrzucane sa te zbiory, które nie posiadaja wymaganego minimalnego wsparcia. Proces ten powtarzany jest do momentu, aż nie zostana odkryte nowe zbiory czeste. Wp lyw na wydajność algorytmu Apriori maja przede wszystkim odczyty danych z dysku oraz zliczanie kandydatów. W celu efektywnego sprawdzenia, które ze zbiorów kandydackich zawieraja sie w danej transakcji, zbiory te przechowywane sa w drzewie haszowym. 3 Metody przetwarzania zbioru zapytań eksploracyjnych dla algorytmu Apriori 3.1 Wykonanie sekwencyjne Metoda naiwna wykonania zbioru zapytań eksploracyjnych dla problemu odkrywania zbiorów czestych sprowadza sie do wykonania tych zapytań sekwencyjnie przy użyciu podstawowego algorytmu odkrywania zbiorów czestych np. Apriori. Każde zapytanie wykonywane jest osobno, zatem jakiekolwiek podobieństwa wykazywane przez te zapytania sa pomijane. Chociaż metoda ta nie jest efektywnym rozwiazaniem postawionego problemu, stanowi naturalny punkt odniesienia przy ocenie pozosta lych metod i uwzglednienie jej w eksperymentach pomiarowych pozwoli uogólnić wyciagni ete odnośnie ścieżek dostepu wnioski. 3.2 Algorytm Common Counting Algorytm Common Counting, zaprezentowany w [5], koncentruje sie na zmniejszeniu liczby odczytów danych poprzez zlikwidowanie potrzeby wielokrotnego odczytu wspólnych partycji bazy danych, tzn. takich, do których odwo luje sie wiecej niż jedno zadanie ze zbioru. Wszystkie zadania wykonywane sa równocześnie w sposób zbliżony do Apriori, czyli poprzez iteracyjne powtarzanie faz generowania zbiorów kandydackich oraz faz weryfikacji aż do momentu, gdy dla żadnego z zadań nie zostana odkryte nowe zbiory czeste. W trakcie fazy generowania zbiorów kandydackich generowane sa zbiory kolejno dla wszystkich wykonywanych zadań. Sam proces generowania zbiorów dla pojedynczego zadania przebiega identycznie jak w Apriori. Wygenerowane dla poszczególnych zadań zbiory kandydackie przechowywane sa w osobnych drzewach haszowych.

tpd10pjmw 2010/6/1 11:04 page 5 #5 Title Suppressed Due to Excessive Length 5 Faza weryfikacji oblicza wsparcie zbiorów kandydackich dla wszystkich zadań jednocześnie podczas jednego wspólnego odczytu danych. Odczytywane sa wszystkie partycje, do których odwo luje sie chociaż jedno zadanie ze zbioru. Każda partycja bazy danych odczytywana jest w pojedynczej iteracji algorytmu dok ladnie raz, skutecznie redukujac w ten sposób liczbe wykonywanych operacji wejścia-wyjścia w porównaniu z wykonaniem sekwencyjnym. 3.3 Algorytm Common Candidate Tree Algorytm Common Counting optymalizuje tylko odczyty bazy danych, wykonujac pozosta le operacje osobno dla każdego zadania. Algorytm Common Candidate Tree [6] rozszerza Common Counting o uwspólnienie wykorzystywanych struktur danych. Tak jak w przypadku Common Counting, wszystkie zadania wykonywane sa jednocześnie i każda partycja bazy danych odczytywana jest tylko raz w pojedynczej iteracji algorytmu. Różnica polega na zastosowaniu jednego wspólnego drzewa haszowego dla wszystkich zadań. Sama struktura drzewa haszowego w Common Candidate Tree jest identyczna jak w przypadku Common Counting i oryginalnego Apriori. Zmodyfikowana zosta la natomiast struktura samych zbiorów kandydackich, tak aby z każdym z nich zwiazana by la tablica liczników po jednym dla każdego zapytania oraz tablica zmiennych boolowskich, pozwalajaca zidentyfikować zadania, które dany zbiór kandydacki wygenerowa ly. Faza generowania zbiorów kandydackich przebiega analogicznie jak w algorytmie Common Counting. Dodatkowo, po wygenerowaniu zbiorów dla wszystkich zadań, zbiory te sa scalane do opisanej powyżej rozszerzonej reprezentacji i umieszczane we wspólnym drzewie haszowym. Faza weryfikacji sprowadza sie do odczytu wszystkich transakcji z wszystkich partycji bazy danych i przeszukania drzewa dla każdej z nich. Dla każdego znalezionego zbioru kandydackiego inkrementowane sa tylko liczniki powiazane z tymi zadaniami, które odwo luj a sie do aktualnie odczytywanej partycji i dla których dany zbiór zosta l wygenerowany. 3.4 Algorytm Mine Merge Algorytm Mine Merge prezentuje zupe lnie inne podejście do wykonywania zbioru zadań niż wszystkie poprzednie metody. Podstawe zasady jego dzia lania stanowi fakt, iż w przypadku bazy danych podzielonej na roz l aczne partycje, zbiór bed acy zbiorem cze- stym w ca lej bazie danych musi być czesty w co najmniej jednej z tych partycji. Przebieg algorytmu jest nastepuj acy. Najpierw z wejściowego zbioru zadań generowane sa zapytania pośrednie, z których każde opiera sie na pojedynczym elementarnym predykacie selekcji (czyli każde z nich odwo luje sie do pojedynczej partycji). Nastepnie zapytania te wykonywane sa sekwencyjnie (np. przy użyciu Apriori), a z odkrytych przez nie zbiorów czestych tworzona jest globalna lista zbiorów kandydackich dla każdego z oryginalnych zadań (lista taka powstaje poprzez zsumowanie wszystkich zbiorów czestych z wszystkich partycji, do których dane zadanie sie odwo luje). Na koniec wykonywany jest pojedynczy odczyt danych, podczas którego nastepuje obliczenie wsparć poszczególnych zbiorów kandydackich i wyznaczenie zbiorów czestych bed acych rozwiazaniem każdego z oryginalnych zapytań.

tpd10pjmw 2010/6/1 11:04 page 6 #6 6 Piotr J edrzejczak, Marek Wojciechowski 4 Dost ep do danych 4.1 Struktury danych i ścieżki dost epu Dostepne na rynku systemy zarzadzania baza danych oparte o model relacyjny oferuja zbliżona podstawowa funkcjonalność w zakresie sk ladowania danych i dostepu do nich, przez co niniejsze rozważania maja w dużym stopniu charakter uniwersalny. Ponieważ każdy z nich posiada jednak swoja specyfike, dalsza analiza przeprowadzona bedzie w oparciu o jeden konkretny system zarzadzania baza danych - Oracle 11g. Ten sam system wykorzystany zostanie podczas testów wydajnościowych. W bazie danych Oracle domyślnie tabela zorganizowana jest wewnetrznie jako sterta (ang. heap), co oznacza że nie jest gwarantowane żadne fizyczne uporzadkowanie rekordów tabeli na dysku. Dlatego też, bez pomocy dodatkowych towarzyszacych tabeli struktur danych, w celu odszukania rekordów spe lniaj acych podane przez użytkownika w zapytaniu kryteria selekcji system musi dokonać pe lnego przegladu tabeli. Co wiecej, nie można również zak ladać żadnego logicznego porzadku wierszy zwracanych przez zapytanie SQL, jeśli nie zlecono w nim żadnego porzadku jawnie poprzez klauzule ORDER BY. Opcjonalnie z tabela powiazane moga być indeksy, które w odpowiednich przypadkach umożliwiaja szybszy dostep do danych. Utworzenie indeksu na jednej badź kilku kolumnach tabeli pozwala na odczyt podzbioru rekordów znajdujacych sie w tabeli bez konieczności przegladania wszystkich bloków danych dla danej zaindeksowanej wartości indeks wskazuje bezpośrednie lokalizacje wszystkich rekordów, które te wartość zawieraja. Podstawowym rodzajem indeksów w Oracle sa indeksy o strukturze B-drzewa, choć dostepne sa również indeksy bitmapowe oraz zaawansowane specjalistyczne struktury indeksowe wykorzystywane do indeksowania specyficznych rodzajów danych np. tekstowych czy przestrzennych. Typowy sposób wykorzystania indeksu polega na odszukaniu w indeksie identyfikatorów/adresów rekordów (w Oracle ROWID) spe lniaj acych warunki selekcji zapytania, a nastepnie bezpośrednim dostepie do rekordów tabeli w oparciu o informacje z indeksu. W tym wzgledzie dostep do danych z wykorzystaniem indeksu stanowi alternatywe dla pe lnego przegladu tabeli i jest op lacalny pod warunkiem odpowiedniej selektywności indeksu 2. W rzeczywistości system zarzadzania baza danych Oracle różnicuje ścieżki dostepu do indeksu w zależności od unikalności/nieunikalności kluczy indeksu oraz rodzaju warunku selekcji (równościowy/zakresowy), a ponadto w pewnych scenariuszach realizuje pe lny przeglad indeksu (w porzadku indeksowym lub nie). Niuanse zwiazane ze ścieżkami dostepu do indeksu w systemie Oracle wykraczaja poza zakres niniejszego artyku lu. We wszystkich eksperymentach indeks bedzie użyty do wyszukania odpowiednich rekordów tabeli w oparciu o warunki zakresowe dotyczace nieunikalnego atrybutu. Ciekawa alternatywa dla domyślnej organizacji tabeli w postaci sterty jest w systemie Oracle tabela zorganizowana jako indeks (IOT, ang. index-organized table). Rekordy sa 2 Dostep do rekordów tabeli w oparciu o informacje z indeksu w przeciwieństwie do pe lnego przegladu tabeli nie jest odczytem sekwencyjnym. Ze wzgledu na sposób dzia lania twardych dysków sekwencyjny odczyt danych jest znacznie szybszy od odczytu pojedynczych rekordów rozmieszczonych na dysku w sposób nieciag ly i dlatego optymalizator stanowiacy jeden z modu lów systemu zarzadzania baza danych skorzysta z indeksu tylko gdy zapytanie wybiera niewielki procent rekordów tabeli.

tpd10pjmw 2010/6/1 11:04 page 7 #7 Title Suppressed Due to Excessive Length 7 wówczas przechowywane bezpośrednio w indeksie o strukturze B-drzewa utworzonym na kolumnach klucza g lównego tabeli. Odczyt danych zawartych w tabeli zorganizowanej jako indeks przebiega podobnie jak w przypadku zwyk lego dostepu za pomoca indeksu, tyle że wynikiem wyszukiwania sa kompletne dane, a nie jedynie wskaźnik do nich. Ma to szczególne znaczenie dla zapytań wykonywanych przez zakresowy przeglad indeksu, które w tabelach zorganizowanych jako indeks wymagaja zdecydowanie mniej odczytów niż w typowym modelu z lożonym z indeksu i tabeli w postaci sterty. Tabela zorganizowana jako indeks posiada również inna ważna zalete. Rekordy sk ladowane sa w strukturze indeksu zbudowanego na kolumnach klucza g lównego, w kolejności zdefiniowanej przez wartości tego klucza. W zwiazku z tym wykonanie zapytań, dla których wynikowe dane zwrócone maja zostać posortowane po kolumnach z dowolnej cześci wiodacej klucza g lównego nie wymagaja przeprowadzenia dodatkowej operacji sortowania. Powyższa analiza możliwości sytemu Oracle wskazuje na konieczność przetestowania w kontekście problemu przetwarzania zbiorów zapytań eksploracyjnych trzech poniższych ścieżek dostepu do danych: pe len przeglad tabeli zorganizowanej jako sterta, dostep do danych tabeli zorganizowanej jako sterta z użyciem indeksu, dostep do tabeli zorganizowanej jako indeks. 4.2 Specyfika dost epu do danych dla badanych algorytmów Rozważajac wp lyw ścieżek dostepu do danych na dzia lanie poszczególnych algorytmów przetwarzania zbiorów zapytań eksploracyjnych, na pewnym poziomie ogólności można dwie ostanie z wyżej wymienionych ścieżek potraktować l acznie jako dostep selektywny, stanowiacy alternatywe dla pe lnego odczytu danych. Punktem odniesienia dla oceny poszczególnych zaproponowanych metod optymalizujacych wykonanie zbioru zapytań eksploracyjnych zarówno w analizie teoretycznej jak i nastepnie w analizie eksperymentalnej bedzie wykonanie sekwencyjne. W przypadku sekwencyjnego wykonania zapytań algorytmem Apriori ilość odczytanych danych z dysku jest oczywiście równa sumie danych odczytanych przez poszczególne zapytania. Algorytm Mine Merge w pierwszej fazie wykonuje zadania pośrednie w sposób sekwencyjny przy użyciu Apriori, w drugiej fazie natomiast wymaga pojedynczego odczytu wszystkich partycji bazy danych. Zapytania pośrednie Mine Merge moga wymagać wiecej lub mniej iteracji Apriori niż zapytania oryginalne w zależności od konkretnego rozk ladu wartości w bazie danych, przez co teoretyczne porównanie kosztów odczytów dyskowych Mine Merge z kosztami wykonania sekwencyjnego w ogólności nie jest możliwe. Na potrzeby niniejszych rozważań przyjmiemy wiec, że wszystkie zapytania, zarówno oryginalne jak i pośrednie Mine Merge, wymagaja tej samej liczby iteracji Apriori 3. W takim wypadku dla ścieżki selektywnej Mine Merge w pierwszej fazie odczytuje mniej danych z dysku niż przy wykonaniu sekwencyjnym, gdyż każdy fragment bazy danych jest w tej metodzie odczytywany co najwyżej przez jedno zapytanie. Zysk jest tym wiekszy im bardziej nak ladaj a sie oryginalne zapytania. Należy jednak zwrócić 3 Przyj ete za lożenie jest uzasadnione przy za lożeniu zbliżonego rozk ladu wartości w poszczególnych partycjach bazy danych.

tpd10pjmw 2010/6/1 11:04 page 8 #8 8 Piotr J edrzejczak, Marek Wojciechowski uwage, że Mine Merge w drugiej fazie odczytuje raz sume danych źród lowych wszystkich zapytań, przez co kluczowe dla wydajności Mine Merge jest aby zysk z pierwszej fazy przewyższa l koszt dodatkowego odczytu danych w drugiej fazie. Jeśli do odczytu partycji danych odpowiadajacych poszczególnym zapytaniom konieczne sa pe lne przeglady tabeli, Mine Merge wymaga niestety wiekszej liczby odczytów danych z dysku, gdyż liczba zapytań pośrednich jest wieksza od liczby zapytań oryginalnych. W tym sensie Mine Merge należy uznać za metode zdecydowanie polegajac a na dostepności selektywnych ścieżek dostepu do danych. Należy tu jednak podkreślić, że zwiekszony koszt dotyczy tylko odczytów danych z dysku na poziomie serwera bazy danych, a koszt przes lania danych do eksploracji (szczególnie w architekturze klientserwer) oraz koszt przetwarzania odczytanych danych przez algorytm Apriori bedzie niższy dla Mine Merge niż dla wykonania sekwencyjnego. Dlatego też w konkretnej architekturze Mine Merge może okazać sie szybszy od wykonania sekwencyjnego nawet gdy jedyna dostepn a ścieżka dostepu do danych bedzie pe len odczyt tabeli z danymi. W przypadku algorytmów Common Counting i Common Candidate Tree należy uwzglednić fakt, iż w każdej iteracji odwo luj a sie one do wielu partycji (zliczanie nastepuje wspólnie dla wszystkich zapytań eksploracyjnych). W każdej fazie weryfikacji kandydatów pobrany z bazy danych musi zostać pewien z góry znany zbiór partycji, a kolejność zwracanych transakcji tak naprawde nie ma znaczenia zamiast sprawdzać przynależność transakcji do konkretnego zadania na poziomie partycji, ten sam test może zostać wykonany dla każdej pojedynczej transakcji. W zwiazku z powyższym, dla wspomnianych algorytmów można zintegrować pobieranie danych z poszczególnych logicznych partycji wyznaczonych przez nak ladanie sie zapytań eksploracyjnych poprzez wys lanie jednego zapytania SQL, które zwróci transakcje z wszystkich potrzebnych partycji. O ile usprawnienie to w nieznaczny sposób powinno wp lyn ać na ca lkowity koszt odczytu danych przy odczytach selektywnych (szczególnie w przypadku warunków zakresowych), to bedzie mia lo kluczowe znaczenie gdy wykorzystywane bed a pe lne odczyty tabeli. W tym drugim scenariuszu metody Common Counting i Common Candidate Tree bed a wymaga ly dok ladnie tyle odczytów danych z dysku co pojedyncze zapytanie eksploracyjne wykonujace najwieksz a liczbe iteracji Apriori. Metody te, w przeciwieństwie do Mine Merge, nie tylko wiec nie powinny tracić na wydajności w stosunku do wykonania sekwencyjnego gdy nie sa dostepne selektywne ścieżki dostepu do partycji danych, ale wrecz wydaja sie szczególnie predysponowane do zastosowania w przypadkach gdy konieczne sa pe lne odczyty tabeli z danymi. 5 Wyniki eksperymentów Do eksperymentów wykorzystany zosta l syntetyczny zbiór danych wytworzony za pomoca generatora GEN z projektu Quest [11]. Parametry wejściowe by ly nastepuj ace: liczba transakcji = 1000000, średnia liczba elementów w transakcji = 8, liczba różnych elementów = 1000, liczba wzorców (tj. zbiorów czestych) = 1500, średnia liczba elementów we wzorcu = 4. Dane umieszczone zosta ly w postaci znormalizowanej (tj. jako pary <identyfikator transakcji, element>) w bazie danych Oracle 11g Enterprise Edition, uruchomionej na komputerze z procesorem Athlon64 3800+ pracujacym na systemie operacyjnym SuSE Linux (wersja jadra 2.6.27.7-9). Aplikacja testowa na-

tpd10pjmw 2010/6/1 11:04 page 9 #9 Title Suppressed Due to Excessive Length 9 pisana zosta la w jezyku Java i uruchamiana by la na komputerze z procesorem Intel Core2Duo 2.2GHz pracujacym na systemie operacyjnym Mac OS X 10.6.1. Po l aczenie z baza danych realizowane by lo za pomoca biblioteki JDBC przez sieć Ethernet. Przeprowadzone zosta ly dwa eksperymenty: w pierwszym z nich zbiór zawiera l dwa zadania o sta lym rozmiarze, a zmienna by l stopień ich nak ladania; w drugim ca lkowity odczytywany zakres bazy danych by l sta ly, zmienia la sie natomiast liczba zadań w zbiorze. Każde zadanie w obu zbiorach odwo lywa lo sie do pojedynczego, ciag lego zakresu transakcji. W obu eksperymentach mierzono czasy wykonania sekwencyjnego (oznaczonego jako SEQ), algorytmu Common Counting (CC), algorytmu Common Candidate Tree (CCT) oraz algorytmu Mine Merge (MM) dla wszystkich trzech badanych ścieżek dostepu. Wyniki pierwszego eksperymentu dla dwóch zapytań o rozmiarze 500 000 transakcji oraz progu minimalnego wsparcia 0.7% i stopnia nak ladania od 0% do 100% z krokiem co 20% przedstawia Rys. 1. Zgodnie z oczekiwaniami, w przypadku pe lnego przegladu tabeli algorytm Mine Merge osiaga czasy znacznie s labsze od pozosta lych badanych algorytmów, wygrywajac jedynie z wykonaniem sekwencyjnym w przypadku wysokiego stopnia nak ladania. Dla przegladu tabeli z wykorzystaniem indeksu oraz przegladu tabeli zorganizowanej jako indeks jego strata nie jest już tak duża, a dla zapytań o wysokim stopniu nak ladania Mine Merge dzia la efektywniej od Common Counting. Niezależnie od ścieżki dostepu, algorytmy Common Counting oraz Common Candidate Tree osiagaj a zbliżone do siebie czasy dla niskiego stopnia nak ladania. Przewaga CCT staje sie wyraźna dopiero dla stopnia nak ladania wiekszego od 40%, w których to przypadkach uzyskuje on najlepsze wyniki spośród wszystkich badanych metod. Czasy uzyskane dla dostepu do danych poprzez przeglad tabeli zorganizowanej jako indeks sa dla wszystkich metod zdecydowanie krótsze niż czasy uzyskane dla pe lnego przegladu tabeli oraz przegladu tabeli za pośrednictwem indeksu. S laba efektywność tego ostatniego jest z kolei spowodowana niska selektywnościa zapytań (pojedyncze zadanie eksploracyjne odwo luje sie do 50% transakcji w tabeli). W drugim eksperymencie ca lkowity zakres danych, do których odwo lywa ly sie zadania, mia l dla wszystkich punktów pomiarowych sta ly rozmiar. Zbiór zadań w każdej serii pomiarowej zawiera l od 2 do 6 zadań o rozmiarze 200 000 transakcji, rozmieszczonych równomiernie na obszarze pierwszych 300 000 transakcji z bazy danych (za każdym razem pierwsze zadanie odwo lywa lo sie do transakcji o identyfikatorach z zakresu od 0 do 200 000, a ostatnie od 100 000 do 300 000). Wyniki przedstawia Rys. 2. Podobnie jak podczas pierwszego eksperymentu, efektywność Mine Merge dla pe lnego przegladu tabeli jest dość niska, a algorytm ten osiaga czasy lepsze jedynie od wykonania sekwencyjnego 4. Gdy możliwy jest dostep selektywny, liczba zadań w zbiorze ma niewielki wp lyw na czas wykonania Mine Merge, co pozwala (przy odpowiednio dużej liczbie zadań) na osiagni ecie lepszych rezultatów od Common Counting. Algorytm Common Candidate Tree, niezależnie od ścieżki dostepu, pozostaje niewrażliwy na liczbe zadań w zbiorze i uzyskuje najlepsze czasy spośród wszystkich badanych metod. 4 Dla obu metod czas zależy liniowo od liczby zadań, jednak w przypadku Mine Merge każde kolejne zadanie powoduje jedynie dodatkowe odczyty zawartości bazy danych po stronie serwera; wykonanie sekwencyjne z każdym kolejnym zadaniem przesy la do aplikacji i przetwarza dodatkowe 200 000 transakcji.

tpd10pjmw 2010/6/1 11:04 page 10 #10 10 Piotr J edrzejczak, Marek Wojciechowski czas [ms] czas [ms] czas [ms] 180000 160000 140000 120000 100000 80000 Pełen przegląd tabeli 60000 SEQ 40000 CC 20000 CCT MM 0 0 20 40 60 80 100 180000 160000 140000 120000 100000 80000 stopień nakładania [%] Przegląd tabeli za pomocą indeksu 60000 SEQ 40000 CC 20000 CCT MM 0 0 20 40 60 80 100 100000 90000 80000 70000 60000 50000 40000 stopień nakładania [%] Przegląd tabeli zorganizowanej jako indeks 30000 SEQ 20000 CC CCT 10000 MM 0 0 20 40 60 80 100 stopień nakładania [%] Rys. 1. Czasy wykonania dwóch zadań o rozmiarze 500 000 w zależności od ich stopnia nak ladania przy minimalnym wsparciu 0.7%.

tpd10pjmw 2010/6/1 11:04 page 11 #11 Title Suppressed Due to Excessive Length 11 czas [ms] 60000 50000 40000 30000 20000 SEQ CC CCT MM Pełen przegląd tabeli 10000 0 2 3 4 5 6 liczba zadań czas [ms] 50000 45000 40000 35000 30000 25000 20000 15000 10000 5000 SEQ CC CCT MM Przegląd tabeli za pomocą indeksu 0 2 3 4 5 6 liczba zadań czas [ms] 25000 20000 15000 10000 Przegląd tabeli zorganizowanej jako indeks SEQ CC CCT MM 5000 0 2 3 4 5 6 liczba zadań Rys. 2. Czasy wykonania badanych metod w zależności od liczby zadań przy minimalnym wsparciu 2%.

tpd10pjmw 2010/6/1 11:04 page 12 #12 12 Piotr J edrzejczak, Marek Wojciechowski Dostep do danych poprzez tabele zorganizowana jako indeks, tak jak w poprzednim eksperymencie, jest znacznie szybszy niż pozosta le metody odczytu. Analiza planów zapytania wykaza la, iż w przeciwieństwie do pozosta lych dwóch ścieżek, w przypadku tej ścieżki nie wystepuje operacja sortowania, ponieważ wymagana przez zapytanie kolejność rekordów jest zgodna z kolejnościa ich wystepowania w indeksie. Co wiecej, wykonywane zapytanie jest typowym przyk ladem zapytania zakresowego, szczególnie dobrze wspieranego w laśnie przez tabele zorganizowane jako indeks. Pamietać należy jednak, że tabela zorganizowana jako indeks posiada znaczne ograniczenie aby mog la ona efektywnie wykonać dane zapytanie, wykorzystane atrybuty selekcji musza znajdować sie na poczatku jej klucza g lównego. Nie może być ona zatem efektywnie wykorzystana np. w przypadku, kiedy w tabeli wystepuje wiele atrybutów selekcji, a zadania odwo luj a sie do różnych ich kombinacji. 6 Podsumowanie Artyku l poświecony jest metodom przetwarzania zbiorów zapytań eksploracyjnych dla problemu odkrywania zbiorów czestych. Celem artyku lu by la teoretyczna i eksperymentalna analiza zachowania sie zaproponowanych dotychczas w literaturze metod w kontekście różnych ścieżek dostepu do danych. Analiza teoretyczna wykaza la, że o ile metoda Mine Merge traci w stosunku do wykonania sekwencyjnego w przypadku gdy do odczytu partycji danych konieczne sa pe lne odczyty tabeli, to metody Common Counting i Common Candidate Tree relatywnie zyskuja na wydajności. Seria eksperymentów z wykorzystaniem systemu Oracle 11g potwierdzi la wnioski z analizy teoretycznej, a ponadto wykaza la, że spośród dwóch testowanych ścieżek oferujacych selektywny dostep do danych: dostepu do tabeli z wykorzystaniem indeksu i dostepu do tabeli zorganizowanej jako indeks zauważalnie lepsza jest ta druga. Literatura [1] R. Agrawal, T. Imielinski, and A. N. Swami, Mining association rules between sets of items in large databases, in SIGMOD Conference (P. Buneman and S. Jajodia, eds.), pp. 207 216, ACM Press, 1993. [2] T. Imielinski and H. Mannila, A database perspective on knowledge discovery, Commun. ACM, vol. 39, no. 11, pp. 58 64, 1996. [3] R. Agrawal and R. Srikant, Fast algorithms for mining association rules in large databases, in VLDB (J. B. Bocca, M. Jarke, and C. Zaniolo, eds.), pp. 487 499, Morgan Kaufmann, 1994. [4] J. Han, J. Pei, and Y. Yin, Mining frequent patterns without candidate generation, in SIGMOD Conference, pp. 1 12, ACM, 2000. [5] M. Wojciechowski and M. Zakrzewicz, Methods for batch processing of data mining queries, in Proceedings of the Fifth International Baltic Conference on Databases and Information Systems (DBIS 2002), pp. 225 236, 2002. [6] P. Grudzinski and M. Wojciechowski, Integration of candidate hash trees in concurrent processing of frequent itemset queries using apriori, in Proceedings of the 3rd ADBIS Workshop on Data Mining and Knowledge Discovery (ADMKD 07), pp. 71 81, 2007.

tpd10pjmw 2010/6/1 11:04 page 13 #13 Title Suppressed Due to Excessive Length 13 [7] M. Wojciechowski, K. Galecki, and K. Gawronek, Three strategies for concurrent processing of frequent itemset queries using fp-growth, in Knowledge Discovery in Inductive Databases. 5th International Workshop, KDID 2006 Berlin, Germany, September 18, 2006 Revised Selected and Invited Papers, pp. 240 258, Springer, 2007. [8] T. K. Sellis, Multiple-query optimization, ACM Trans. Database Syst., vol. 13, no. 1, pp. 23 52, 1988. [9] R. Jin, K. Sinha, and G. Agrawal, Simultaneous optimization of complex mining tasks with a knowledgeable cache, in KDD, pp. 600 605, ACM, 2005. [10] H. Blockeel, L. Dehaspe, B. Demoen, G. Janssens, J. Ramon, and H. Vandecasteele, Improving the efficiency of inductive logic programming through the use of query packs, J. Artif. Intell. Res. (JAIR), vol. 16, pp. 135 166, 2002. [11] R. Agrawal, M. Mehta, J. C. Shafer, R. Srikant, A. Arning, and T. Bollinger, The quest data mining system, in KDD, pp. 244 249, 1996.