Bachelor Thesis BCLR-2017-93

BibliographyWagner, Matthias: NedExplain meets Nautilus.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Bachelor Thesis No. 93 (2017).
69 pages, german.
CR-SchemaH.4 (Information Systems Applications)
Abstract

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..

Full text and
other links
PDF (1705143 Bytes)
Access to students' publications restricted to the faculty due to current privacy regulations
Department(s)University of Stuttgart, Institute of Parallel and Distributed Systems, Data Engineering
Superviser(s)Herschel, Prof. Melanie; Diestelkämper, Ralf
Entry dateDecember 3, 2018
   Publ. Computer Science