Query Execution
Total Page:16
File Type:pdf, Size:1020Kb
Querying Heterogeneous Data in an In-situ Unified Agile System Dissertation zur Erlangung des akademischen Grades Doktor-Ingenieur (Dr.-Ing.) vorgelegt dem Rat der Fakultät für Mathematik und Informatik der Friedrich-Schiller-Universität Jena von M.Sc. Javad Chamanara geboren am 23.10.1972 in Eilam Gutachter 1. Prof. Dr. Birgitta König-Ries Friedrich-Schiller-Universität Jena, 07743 Jena, Thüringen, Deutschland 2. Wird vom Fakultätsrat bekannt gegeben Prof. Dr. H. V. Jagadish University of Michigan, 48109-2121 Ann Arbor, Michigan, USA 3. Wird vom Fakultätsrat bekannt gegeben Prof. Dr. Klaus Meyer-Wegener Friedrich-Alexander-Universität, 91058 Erlangen, Bayern, Deutschland Tag der öffentlichen Verteidigung: 12. APRIL 2018 Ehrenwörtliche Erklärung Hiermit erkläre ich, • dass mir die Promotionsordnung der Fakultät bekannt ist, • dass ich die Dissertation selbst angefertigt habe, keine Textabschnitte oder Ergebnisse eines Dritten oder eigenen Prüfungsarbeiten ohne Kennzeichnung übernommen und alle von mir benutzten Hilfsmittel, persönliche Mitteilungen und Quellen in meiner Arbeit angegeben habe, • dass ich die Hilfe eines Promotionsberaters nicht in Anspruch genommen habe und dass Dritte weder unmittelbar noch mittelbar geldwerte Leistungen von mir für Arbeiten erhal- ten haben, die im Zusammenhang mit dem Inhalt der vorgelegten Dissertation stehen, • dass ich die Dissertation noch nicht als Prüfungsarbeit für eine staatliche oder andere wissenschaftliche Prüfung eingereicht habe. Bei der Auswahl und Auswertung des Materials sowie bei der Herstellung des Manuskripts haben mich folgende Personen unterstützt: • Prof. Dr. Birgitta König-Ries Ich habe die gleiche, eine in wesentlichen Teilen ähnliche bzw. eine andere Abhandlung bereits bei einer anderen Hochschule als Dissertation eingereicht: Ja / Nein. Jena, den 12. April 2018 [Javad Chamanara] To Diana Deutsche Zusammenfassung Die Datenheterogenität wächst in allen Aspekten viel rasanter als je zuvor. Daten werden auf ver- schiedene Art und Weise in vielfältigen Formaten und wechselnden Geschwindigkeiten gespei- chert. Softwaresysteme, die diese Daten verarbeiten und verwalten, sind zudem inkompatibel, unvollständig und vielfältig. Datenwissenschaftler müssen oft Daten aus heterogenen Quellen integrieren, um einen Ende-zu-Ende Prozess aufzusetzen und durchführen zu können, der ihnen zu neuen Erkenntnissen verhilft. Zum Beispiel kommt es vor, dass Wissenschaftler Sensordaten aus einer CSV-Datei mit Simulationsergebnissen aus MATLAB-Dateien, Beobachtungsdaten in Excel-Dateien und Referenzdaten aus einer relationalen Datenbank miteinander kombinieren müssen. Diese Daten werden von einer Vielzahl von Werkzeugen und unterschiedlichen Perso- nen für verschiedene Zwecke produziert. In der Regel benötigt der Wissenschaftler nicht alle verfügbaren Informationen aus den Dateien, jedoch ändert sich die erforderliche Datenauswahl über den Forschungszeitraum. Zudem haben Wissenschaftler oft nur eine begrenzte Anzahl an Forschungsfragen und neigen daher dazu, gerade so viele Daten zu integrieren, wie nötig sind um diese Fragen zu beantworten. Ihre Analyse umfasst oft wechselnde Anfragen und volatile Daten in denen sich zum Beispiel die Struktur häufig verändert. Aufgrund dieser Gegebenheiten können Wissenschaftler nicht zu Beginn ihrer Forschungstätigkeit entscheiden, welches Daten- schema, welche Werkzeuge und welche Abläufe sie verwenden. Stattdessen würden sie lieber verschiedene Werkzeuge nutzen, um iterativ Daten zu verbinden und zu integrieren. So könnte ein geeignetes Datenschema nur mit den relevanten Teildaten geformt werden. Dieser Prozess generiert eine Vielzahl von ad-hoc ETL-Operationen (Extraction-Transformation-Load), die es erfordern häufig Daten zu integrieren. Datenintegration stellt eine vereinheitlichte Sicht durch Verknüpfung von Daten aus verschie- denen Quellen dar. Sie beschäftigt sich mit Herausforderungen in Bezug auf die Heterogenität in der Syntax, Struktur und Semantik von Daten. In heutigen multidisziplinären und kollabo- rativen Forschungsumgebungen werden Daten funktionionsübergreifend produziert und konsu- miert. Mit anderen Worten, zahlreiche Forscher verarbeiten Daten in verschiedenen Disziplinen um vielfältige Forschungsumgebungen mit unterschiedlichen Messauflösungen und mehreren Anfrageprozessoren und Analysewerkzeuge zu bedienen. Diese funktionsübergreifenden Daten- operationen sind ein wesentlicher Bestandteil jeder erfolgreichen datenintensiven Forschungs- aktivität. Die zwei klassischen Ansätze in der Datenintegration, die materialisierte und virtuelle Inte- gration, lösen nicht die oben beschriebenen Probleme im Datenmanagement und in der Da- tenverarbeitung. Beide zielen darauf ab Informationen vollständig zu integrieren. Die Annah- me hier ist, dass es sich lohnt, erhebliche Anstrengungen in die Bereitstellung von Langzeit- Informationssystemen zu investieren, die in der Lage sind, eine große Bandbreite an Anfragen zu beantworten. Weitere Faktoren, die die materialisierte Integration erschweren, sind die unbe- ständige Natur von Forschungsdaten und die oft großen Datenmengen oder die starren Zugangs- bestimmungen, die die Datenweitergabe verhindern. Virtuelle Integration ist nicht geeignet, da hier Optimierungsmöglichkeiten für nicht-relationale Datenquellen fehlen. Die grundlegende Schwierigkeit ist, dass die Daten nicht nur in Syntax, Struktur und Semantik heterogen sind, sondern auch in der Art und Weise wie auf sie zugegriffen wird. Während sich vii Deutsche Zusammenfassung zum Beispiel bestimmte Daten in funktionsreichen, relationalen Datenbanken befinden, auf die mittels deklarativer Anfragen zugegriffen wird, werden andere durch MapReduce-Programme unter Verwendung prozeduraler Berechnungsmodelle verarbeitet. Des Weiteren werden viele sensorgenerierte Daten in CSV-Dateien verwaltet, ohne dass auf die Verwendung etablierter For- matierungsstandards und grundlegender Datenmanagement-Funktionen zurück gegriffen wird. Sogar verschiedene relationale Datenbanksysteme unterscheiden sich in Syntax, Einhaltung von SQL-Standards und Funktionsumfang. Wir bezeichnen das als Datenzugriffs-Heterogenität. Datenzugriffs-Heterogenität bezieht sich auf Unterschiede im Hinblick auf Berechnungsmodelle (z.B. prozedural, deklarativ), Abfragemöglichkeiten, Syntax und Semantik der durch verschie- dene Hersteller oder Systeme bereitgestellten Funktionalität. Weiterhin schließt dies auch die Datentypen und Formate ein, in denen Daten und Abfrageergebnisse zurück geliefert werden. Ein kritischer Aspekt der Datenzugriffs-Heterogenität sind die Unterschiede im Funktionsum- fang verschiedener Datenquellen. Während einige Datenquellen, wie zum Beispiel relationa- le, graphbasierte und Array-Datenbanken, als starke Datenquellen klassifiziert werden, haben schwache Datenquellen, wie zum Beispiel Tabellenkalkulationen kein bewährtes Datenmana- gement. Zudem unterstützen nicht alle Datenmanagementsysteme die Funktionen, die von den Anwendern gefordert werden. Daher sollten wir in die Liste der Heterogenität das Interesse von Datenwissenschaftlern an Berechnungen mit Rohdaten aufnehmen. Des Weiteren müssen domänenspezifische Werkzeuge, die Datenwissenschaftler in der Forschung verwenden, ebenso hinzugefügt werden, wie eine Vielzahl an Werkzeugen und Sprachen, die benötigt werden, um Datenanalyse-Aufgaben zu bewältigen. In dieser Arbeit identifizieren wir den Bedarf an besseren Werkzeugen, um die Gesamtkosten über den vollständigen Datenlebenszyklus von Rohdaten zu Forschungserkenntnissen zu mi- nimieren. Wir argumentieren außerdem, dass diese Werkzeuge demokratisiert werden sollten durch quelloffene, interoperable und leicht bedienbare Systeme. Im Gegensatz zu relationalen Datenbanksystemen, die Funktionen zur Speicherung und Abfrage auf entsprechende Datenmo- delle bereitstellen, schlagen wir ein agiles Datenabfragesystem vor. Das ist ein ausdrucksstarkes Datenabruf-System, das nicht an die Datenspeicherung oder darunterliegenden Datenmanage- mentsysteme mit begrenztem Funktionsumfang gebunden ist. Das Ziel eines solchen Systems sind schnelle Rückmeldungen für Anwender und die Vermeidung der Vervielfältigung von Da- ten, während gleichzeitig ein vereinheitlichtes Abfrage-und Berechnungsmodell zur Verfügung gestellt wird. In dieser Arbeit stellen wir QUIS (Query In-Situ) vor. QUIS ist ein agiles Abfragesystem, ausge- stattet mit einer vereinheitlichten Abfragesprache und einer föderierten Ausführungseinheit, die in der Lage ist Abfragen an Ort und Stelle über heterogene Daten auszuführen. Seine Sprache erweitert SQL um Funktionalitäten wie virtuelle Schemas, heterogene Verknüpfungen und po- lymorphe Präsentationen der Ergebnisse. QUIS nutzt das Konzept der Abfrage-Virtualisierung, das auf einem Verbund von Agenten basiert, um eine gegebene Anfrage in einer bestimmten Sprache in ein Berechnungsmodell zu überführen, das sich auf den zugewiesenen Datenquel- len ausführen lässt. Während die verteilte Anfrage-Virtualisierung viel größere Flexibilität und Unterstützung von Heterogenität ermöglicht als die zentralisierte Virtualisierung von Daten, hat viii Deutsche Zusammenfassung sie jedoch den Nachteil, dass einige Teile der Anfrage nicht immer von den zugewiesenen Da- tenquellen unterstützt werden und dass das Abfragesystem dann als Sicherung agieren muss, um diese Fälle zu komplementieren. QUIS garantiert, dass die Anfragen immer komplett ausge- führt werden. Wenn die Zielquelle die Anforderungen an die Abfrage nicht erfüllt, identifiziert QUIS fehlende Funktionalitäten und