Bachelorarbeit BCLR-2017-93

Bibliograph.
Daten
Wagner, Matthias: NedExplain meets Nautilus.
Universität Stuttgart, Fakultät Informatik, Elektrotechnik und Informationstechnik, Bachelorarbeit Nr. 93 (2017).
69 Seiten, deutsch.
CR-Klassif.H.4 (Information Systems Applications)
Kurzfassung

Provenance umfasst alle Daten, die während der Berechnung beispielsweise einer SQL-Anfrage gesammelt werden können. Das beinhaltet neben dem eigentlichen Ergebnis auch Zwischenergebnisse und Metadaten, wie Ausführungszeiten oder Umgebungseigenschaften. Zwei bekannte Arten von Provenance sind Why und Why-Not Provenance. Why Provenance erklärt, wieso die Tupel in der Ergebnismenge enthalten sind. Why-Not Provenance beantwortet die Frage, wieso bestimmte Tupel in der Ergebnismenge erscheinen. Ein Algorithmus zur Berechnung der Why-Not Provenance ist NedExplain. Er generiert Anfrage-basierte Erklärungen für fehlende Tupel in der Ausgabe einer SQL-Anfrage. Dafür sucht der Algorithmus auf die fehlenden Tupel möglicherweise passende Tupel in den Eingaberelationen und generiert die Erklärungen anhand der Stellen in der Anfrage, die diese Tupel entfernen. An Beispielen erkläre ich den detaillierten Ablauf und damit auch die Fähigkeiten des Algorithmus. Ich implementiere den NedExplain Algorithmus und integriere diesen in den Nautilus Analyzer. Der Nautilus Analyzer bietet eine Reihe von Why-Not Provenance-Algorithmen zur Berechnung von Anfrage-basierten, Modifikation-basierten und Instanz-basierten Erklärungen an. Mit NedExplain erhält der Nautilus Analyzer eine weitere Möglichkeit zur Generierung von Anfrage-basierten Erklärungen. Der Algorithmus erweitert die bisherigen Fähigkeiten des Nautilus Analyzer, da er Aggregationen unterstützt. Für die Implementierung von NedExplain stelle ich Hilfsdatenstrukturen vor, aus denen sich die Datenstrukturen von NedExplain zusammensetzen. Die Berechnung der Erklärungen in der Implementierung orientiert sich an dem Entwurf von NedExplain von Bidoit et al.. Neben kleinen Veränderungen am Algorithmus enthält die Implementierung eine Nachfolgerberechnung. Ich verzichte hier auf die Verwendung von Bibliotheken Dritter. In der Evaluation zeige ich die Leistungsfähigkeit der Implementierung. Anhand von Use cases vergleiche ich die Laufzeit von NedExplain mit den anderen Why-Not Provenance Algorithmen mit Anfrage-basierten Erklärungen. Für einen Use cases untersuche ich den Einfluss der Größe des Datensatzes auf die Laufzeit durch Vervielfältigen der Eingabetupel. Die Implementierung ist dabei in allen Use cases schneller als der Why-Not Algorithmus und findet in mehr Use cases die Erklärungen. Die Nachfolgerberechnung ohne Bibliotheken dritter ist sich schneller als die mit externen Bibliotheken von Bidoit et al..

Volltext und
andere Links
PDF (1705143 Bytes)
Zugriff auf studentische Arbeiten aufgrund vorherrschender Datenschutzbestimmungen nur innerhalb der Fakultät möglich
Abteilung(en)Universität Stuttgart, Institut für Parallele und Verteilte Systeme, Data Engineering
BetreuerHerschel, Prof. Melanie; Diestelkämper, Ralf
Eingabedatum3. Dezember 2018
   Publ. Institut   Publ. Informatik