• Nie Znaleziono Wyników

Optymalizacja zapytań w ActiveDiscovery

W dokumencie Index of /rozprawy2/11550 (Stron 91-98)

3.8 Charakterystyka i optymalizacja zapytań

3.8.2 Optymalizacja zapytań w ActiveDiscovery

Osiągnięcia teoretyczne w zakresie optymalizacji SPARQL, mimo że są liczne, nie znala-zły jeszcze wyrazu w standardach implementacyjnych dla silników SPARQL. Procedura wykonania zapytania SPARQL i związane z nią potencjalne optymalizacje zależne są od implementacji. Jedną z najpopularniejszych implementacji, uważaną często za imple-mentację referencyjną, jest silnik ARQ [83] zawarty we frameworku JENA [82], który został również wykorzystany do implementacji usługi QueryService w ActiveDiscovery. ARQ obsługuje standard SPARQL 1.1 [149], w tym zapytania federacyjne zawiera-jące klauzulę SERVICE, ale nie dokonuje optymalizacji planu wykonania w oparciu o selektywność delegowanych podzapytań. Wykonanie zapytania oparte jest na pla-nie odpowiadającym kolejności wzorców trójkowych występujących w BGP zapytania. ARQ nie dostarcza kompleksowego i zoptymalizowanego podejścia do przetwarzania zapytań rozproszonych [150], obsługuje jedynie element SERVICE wprowadzany przez standard.

Optymalizacja w ramach ActiveDiscovery powinna uwzględniać cechy architektury determinujące kształt zapytania. Do cech tych należy założenie o rodzaju przetwarza-nych zapytań (ABox), budowie zapytania docelowego, jak również elementach infra-strukturalnych, jak węzły indeksowe. Techniki optymalizacyjne mogą zatem opierać się zarówno na wewnętrznych przekształceniach algebraicznych (optymalizacja bezkon-tekstowa) jak również na statystykach pomocniczych zawartych w indeksach (optyma-lizacja kontekstowa). Celem optymalizacyjnym w ActiveDiscovery jest zmiana planu kolejności wykonywania operatorów, w szczególności operatorów złączeń i filtrowania, w taki sposób aby uwzględniana była selektywność podzapytań zdalnych.

Heurystyka związana z optymalizacją kontekstową wykorzystuje rozszerzenie usługi węzła indeksowego ISN o dodatkowe informacje wpływające na przewidywaną selek-tywność zapytania. W przeciwieństwie do standardowego podejścia wykorzystującego indeks danych, w przypadku ActiveDiscovery informacje indeksowe wpływające na se-lektywność wzorca trójkowego w BGP zapytania mogą być oparte nie na statystykach opisujących dane instancyjne, ale na statystykach występowania pojęć słownikowych, ontologicznych w skojarzonych z ontologią źródłach danych. Wpis indeksowy zlokali-zowany na węźle ISN zostaje wobec tego rozszerzony do postaci zawartej w definicji 12.

Definicja 12 (Rozszerzony wpis indeksowy). Rozszerzonym wpisem indeksowym

na-zwiemy czwórkę postaci:

(U RIT Box, U RIRDF, U RISEndpoint, n), gdzie U RION T jest identyfikatorem elementu TBox,

U RIRDF jest identyfikatorem zbioru danych instancyjnych,

U RISEndpoint jest identyfikatorem punktu dostępowego SPARQL realizującego dostęp do danych U RIRDF,

n oznacza liczbę wystąpień pojęcia U RIT Box w zbiorze U RIRDF dostępnym poprzez

U RISEndpoint.

Informacje statystyczne dotyczące liczności mogą być pozyskiwane przez węzeł ISN z opisów źródeł danych RDF. Dostępność danych tego rodzaju jest coraz bardziej po-wszechna i oparta jest na słowniku VoID [165], standaryzowanym przez W3C. Metryki takie jak liczność i selektywność są czasami gromadzone również dla złączeń wzorców grafowych [153], w przypadku ActiveDiscovery ograniczamy się do pojedynczych wzor-ców trójkowych, ponieważ przedmiotem delegacji zazwyczaj jest wyrażenie złożone z pojedynczej trójki i opcjonalnego elementu filtra. Rozmiar tak zdefiniowanego indeksu jest funkcją rozmiaru ontologii, rozumianego raczej jako liczba występujących w niej terminów niż jako liczba zawartych w niej stwierdzeń, wobec czego przyjąć można, że będzie relatywnie mały w porównaniu do indeksów obejmujących statystyki odnoszące się do liczby instancji lub asercji w zbiorach typu ABox.

Taka konstrukcja indeksu posłuży do zdefiniowania liczności, która następnie wy-korzystana będzie do oceny kosztu planów zapytań.

Definicja 13 (Liczność wzorca trójkowego w zbiorze). Niech tp oznacza wzorzec

trój-kowy, T Box(tp) element TBox zawarty w tp. Licznością cardS(tp) wzorca tp w zbiorze

S typu ABox nazwiemy liczbę wystąpień pojęcia T Box(tp) w zbiorze S, w myśl definicji

12.

Definicja 14 (Liczność wzorca trójkowego). Licznością wzorca trójkowego tp nazwiemy: card(tp) =X

Si

cardSi(tp)

Procedura optymalizacyjna uwzględnia statystyki opisujące źródła wiedzy, pozyski-wane z indeksu, i oparta jest na przekształceniach algebraicznych zapytania uwzględ-niających niżej podane heurystyki. Optymalizacja oparta jest na podejściu zachłannym, algorytm nie tworzy przestrzeni możliwych planów zapytania i nie dokonuje ich oceny na bazie całkowitego kosztu wykonania, jak ma to miejsce w metodzie programowania dynamicznego, ze względu na przyjęte założenia o zawartości indeksu i dostępnych w nim statystykach. Zaproponowane zasady optymalizacji biorą pod uwagę charaktery-stykę zapytania w ActiveDiscovery. Zapytanie źródłowe poddane jest przekształceniom opisanym poniżej w punktach 1 i 2, natomiast operacje z punktów 3 i 4 wykonywane są na zapytaniu docelowym.

1. Porządkowanie wg filtrów i instancji. Na początek BGP przesuwane są wzorce zawierające element instancyjny ABox (tp2 i tp4) oraz, jeśli to możliwe, te elementy filtrowania, które dotyczą zmiennych występujących w tych wzorcach. Rozmiar zbioru wynikowego dla każdego wyrażenia ograniczony będzie od góry przez card(tpi), a spodziewana wysoka selektywność wzorców tego rodzaju po-winna silnie ograniczać rozmiar wyników pośrednich (heurystyka typu „instance seed rule” [73]).

2. Porządkowanie wg statystyk i zależności. W dalszej kolejności porządko-wane są pozostałe wzorce tpi zgodnie z rosnącą licznością card(tpi) ale jednocze-śnie z zachowaniem zasady, że żaden wzorzec wprowadzający nową, niezwiązaną zmienną nie może poprzedzać wzorca ze zmienną związaną jeśli sam nie ma innej zmiennej związanej.

3. Grupowanie wzorców trójkowych. Grupowane są pojedyncze wzorce trój-kowe, które delegowane są do tych samych źródeł. Złączenie wykonuje się wów-czas w węźle źródłowym zamiast w węźle mediatora, prowadząc do znacznego ograniczenia wyników pośrednich.

4. Delegacja filtrów. Formuła filtra przekształcana jest na postać koniunkcyjną (koniunkcja klauzul logicznych). Dla każdego wzorca tpi zawierającego zmienną ?x dołączany jest człon koniunkcji zawierający ?x pod warunkiem, że nie zawiera on innych zmiennych, nie występujących w tpi. W ten sposób delegowane są

filtry, powodując dalsze ograniczenie wyników pośrednich (heurystyka typu „filter pushing”).

Na koszt ewaluacji zapytania składa się koszt przetwarzania na poszczególnych wę-złach i koszt transmisji danych przez sieć. Jedną z głównych wytycznych jest mini-malizacja rozmiaru wyników pośrednich otrzymywanych jako rezultat poszczególnych zapytań, ponieważ mają one wpływ zarówno na koszt związany z transferem danych jak również na koszt złączeń w węźle QSN. Koszt transferu ograniczany jest poprzez delegowanie filtrów i grupowanie wzorców, natomiast reorganizacja porządku w BGP, również z wykorzystaniem statystyk dotyczących źródeł danych, ogranicza czas prze-twarzania w węźle mediatora.

W niniejszym rozdziale przedstawiono koncepcję zdecentralizowanej infrastruktury, której założenia architektoniczne zakorzenione są w zasadach, specyfikacjach, postu-latach i dobrych praktykach Semantic Web. Przedstawione zostały elementy struktu-ralne, w tym węzły i ich usługi, protokół realizacji zadania pozyskiwania i integracji wiedzy. Następnie scharakteryzowana została klasa zapytań, zaprezentowano procedury translacji w wersji podstawowej i integracyjnej oraz podano przykłady ich działania. Przeprowadzona została również krótka dyskusja teoretycznej złożoności opracowanych algorytmów, kosztu ich wykonania i technik optymalizacji zapytań. Rozdział zamyka opis optymalizacji wprowadzonych w ActiveDiscovery.

Ewaluacja ActiveDiscovery

Koncepcja ActiveDiscovery przedstawiona w rozdziale 3 poddana jest ewaluacji, któ-rej celem jest eksperymentalna walidacja scenariusza pozyskiwania wiedzy zaprezen-towanego w tezie pracy. W pierwszej kolejności przedstawiona jest metodologia ewa-luacji (4.1), określająca strategię testowania i kryteria oceny wykonalności ActiveDi-scovery. Zaprezentowane jest porównanie ActiveDiscovery do architektury DNS. W kolejnych sekcjach podana jest charakterystyka prototypowej implementacji ActiveDi-scovery (4.3), zapytań reprezentujących realistyczne scenariusze użytkowe (4.4) oraz danych testowych przygotowanych zgodnie z przyjętą metodologią (4.5). Rozdział za-myka krótki opis środowiska ewaluacyjnego (4.6).

Przedmiotem podjętych badań jest procedura rozproszonego wykonania zapytania, zarówno w wersji nie korzystającej z odwzorowań między ontologiami, jak również z wykorzystaniem tych odwzorowań. Ewaluacja nie dotyczy drugiej z opisanych proce-dur, publikacji wiedzy, która ma charakter uzupełniający z punktu widzenia zadania głównego i, tym samym, postawionej tezy.

Tezą pracy jest stwierdzenie o wykonalności infrastruktury usługowej, dzięki której pozyskiwanie wiedzy, w rozumieniu Semantic Web, przez klienta końcowego nie bę-dzie wymagało apriorycznej informacji na temat lokalizacji tej wiedzy. Precyzyjniej, wykonanie zapytania SPARQL przez agenta, nie będzie wymagało podania lokalizacji zbiorów RDF, lecz zostaną one odnalezione w oparciu o ontologie użyte do sformuło-wania zapytania. Teza ma wymiar praktyczny, odwołuje się do pewnej rzeczywistości informatycznej jaką jest Semantic Web i, jako taka, wymaga empirycznego wykazania.

Aby tego dokonać niezbędne jest sformułowanie metodologii ewaluacji i przygotowanie niżej wymienionych elementów:

• prototypowej implementacji, oprogramowania implementującego niezbędne ele-menty infrastruktury, które umożliwi realizację zapytania zgodnie z tezą i postu-latami efektywności,

• zapytań reprezentujących rzeczywiste scenariusze użytkowe,

• danych, na które składają się: ontologie OWL (elementy TBox), asercyjne zbiory RDF (ABox), odwzorowania między ontologiami.

4.1 Metodologia ewaluacji

Metodologia przewiduje dwa rodzaje ewaluacji: jakościową oraz ilościową. Celem ewa-luacji jakościowej jest wykazanie wartości dodanej wnoszonej przez ActiveDiscovery w stosunku do standardowych rozwiązań federacyjnych, borykających się z problemem identyfikacji źródeł danych dla zapytania. Uogólniony test osiągnięcia tej wartości w założonym środowisku ewaluacyjnym polega na sprawdzeniu czy zbiór wyników WQ danego zapytania Q wykonywanego bez ActiveDiscovery, jest podzbiorem właściwym zbioru wyników WADQ tego samego zapytania Q wykonywanego w oparciu o infra-strukturę, a więc czy WQ ⊂ WAD

Q. Podstawowym przypadkiem jaki może wystąpić to WQ ≡ ∅ podczas gdy WAD

Q 6= ∅ co charakteryzuje sytuację, w której zapytanie

bez ActiveDiscovery w ogóle nie może zostać skutecznie wykonane ze względu na brak źródeł danych podczas gdy to samo zapytanie wykonywane w oparciu o ActiveDisco-very zwróci niepusty zbiór wyników. Jest to podstawowa wartość dodana wynikająca z wykorzystania ActiveDiscovery. Drugim przypadkiem jest sytuacja, w której WQ 6= ∅

oraz WQ ⊂ WAD

Q, a więc uzyskiwane są wyniki przy dostarczeniu informacji o źródłach i jednocześnie rozproszone wykonanie pozwala uzyskać więcej wyników niż zawiera WQ. W obu wymienionych przypadkach osiągana jest wartość dodana polegająca na uzy-skiwaniu większej liczby poprawnych wyników. Przeprowadzenie ewaluacji jakościowej wymaga:

• implementacji przewidzianych usług sieciowych w postaci węzłów opisanych w rozdziale 3,

• przygotowania przykładowych ontologii,

• przygotowania danych asercyjnych o niewielkich rozmiarach, ponieważ testy mają charakter jakościowy i ich wyniki powinny być możliwe do weryfikacji poprzez wgląd,

• przygotowania testowych zapytań do danych,

• wykonania eksperymentów z użyciem oprogramowania, polegających na realizacji testowych zapytań do danych, w których wyniki weryfikowane są zautomatyzo-wanymi testami,

• przygotowania scenariusza integracyjnego, rozszerzonego o odwzorowania między ontologiami,

• wykonania eksperymentów z użyciem oprogramowania, polegających na realizacji tych samych testowych zapytań do rozszerzonych danych, z analogiczną metodą weryfikacji.

Rezultaty ewaluacji jakościowej weryfikować będą poprawność działania infrastruk-tury dla zakładanych, reprezentatywnych przypadków użycia oraz wartość dodaną wynikającą z zastosowania ActiveDiscovery. Tym samym stanowić będą istotną prze-słankę do wnioskowania o wykonalności. Drugim etapem jest ewaluacja ilościowa, której celem jest wykazanie skalowalności infrastruktury, stanowiącej drugi zasadniczy waru-nek wykonalności, pozwalający wnioskować o wykonalności w warunkach rzeczywistych. Podstawowym przedmiotem badania jest zależność czasu wykonania zapytania od roz-miaru danych bazowych, ściślej rzecz ujmując postać funkcji t = fC(d), gdzie t jest czasem wykonania zapytania, d oznacza rozmiar danych a C jest kontekstem wyko-nania charakteryzowanym trzema parametrami: poziomem rozproszenia danych bazo-wych, rozmiarem zapytania oraz selektywnością zapytania. Przeprowadzenie ewaluacji ilościowej wymaga:

• przygotowania danych o rozmiarach wystarczających do badania funkcji fC w warunkach rosnącego obciążenia,

• przygotowania kontekstów wykonania z różnymi charakterystykami danych i za-pytań: różny poziom rozproszenia danego wolumenu danych bazowych, różna wiel-kość zapytań, różny poziom selektywności zapytań,

• wykonania eksperymentów z użyciem oprogramowania, polegających na realizacji testowych zapytań do danych w różnych kontekstach,

• porównania uzyskanych wyników ilościowych oraz analizy fC dla różnych kontek-stów wykonania.

Rezultaty ewaluacji ilościowej weryfikować będą skalowalność działania infrastruk-tury ActiveDiscovery, pokazując jednocześnie wpływ wymienionych czynników na koszt czasowy wykonania zapytania, będący głównym wskaźnikiem oceny. W połączeniu z re-zultatami uzyskanymi w ramach oceny jakościowej, stanowić będą przesłankę do wnio-skowania o realizowalności zadania efektywnego pozyskiwania wiedzy w warunkach rze-czywistych.

W dokumencie Index of /rozprawy2/11550 (Stron 91-98)

Powiązane dokumenty