FOR 1306: Stratosphere - Information Management above the Clouds
Final Report Abstract
Im Rahmen des Stratosphere Forschungsprojekts wurde ein System für massiv-parallele Datenverarbeitung prototypisch entwickelt. Das Ziel war hierbei die Entwicklung eines Ausführungssystems, welches die Vorteile von relationalen Datenbanksystemen (deklarative Spezifikation, automatische Optimierung und effiziente Ausführung von Programmen) und Datenfluss Frameworks, wie z.B. MapReduce (schema-freie, generische Verarbeitung und massive Parallelisierung), verbindet. Die Systemarchitektur ist nach dem Schichtenmodell organisiert. Die unterste Schicht bildet das skalierbare, daten-parallele und cloud-fähige (automatische Ressourcenallokation) Ausführungssystem Nephele. Darauf aufbauend wurden mehrere Erweiterungen prototypisch entwickelt und evaluiert. Auf der Ausführungsebene standen dabei die hochparallele Verarbeitung von kontinuierlichen Datenströmen, ein adaptiver Mechanismus zur Einhaltung von Latenzvorgaben (Nephele Streaming) auf der Ausführungsebene, sowie die adaptive Ressourcenallokation und Verwaltung im Mehrbenutzerbetrieb im Fokus. In der Anfrageschicht wurde die Generalisierung des statischen MapReduce Programmiermodells hin zu einer deklarativen Spezifikation von Datenflüssen (das sog. PACT Programmiermodell), welche die generische Verarbeitung von strukturierten und unstrukturierten Daten erlaubt, erforscht. Eine wichtige Anforderung an Ausführungsebene und Programmiermodell war hierbei die Möglichkeit zur Spezifikation und effiziente Ausführung von iterativen Datenflüssen, welche einen essentiellen Bestandteil für viele Anwendungsfälle, wie z.B. aus dem Bereich Data Mining und Maschinelles Lernen, darstellen. Innerhalb des PACT Programmiermodells wurden die Möglichkeiten für die Optimierung von Datenfluss Programmen, ähnlich zu (logischer und physischer) Optimierung in relationalen Systemen, entwickelt und evaluiert. Die zugrundeliegende Herausforderung stellten hierbei die fehlenden semantischen und strukturellen Informationen über benutzerdefinierte Funktionen (UDFs) und Datentypen in Datenfluss Programmen dar. Um diese Probleme zu lösen, wurden zwei unterschiedliche Ansätze erforscht.Im ersten Ansatz wurde die externe Anfrage- und Analysesprache Meteor mit Fokus auf Erweiterbarkeit, einfacher Benutzung und domänen-spezifischen Erweiterungen für Text Mining, Web Analytics und Datensäuberung entwickelt. Die Evaluation fand anhand konkreter Anwendungsfälle, wie z.B. GovWILD, Biomedical text mining in large document collections, Web-Scale Biomedical IE, Data Profiling u.v.m., statt. Im zweiten Ansatz wurde eine deklarative, eingebettete domänen-spezifische Sprache entwickelt, welche die effiziente Analyse von UDFs erlaubt und native Elemente der Systemsprache, wie z.B.: Schleifen und Kontrollstrukturen, in einer Zwischenrepräsentation modelliert und zur Optimierung des gesamten Programms verwendet. Die wichtigsten Ergebnisse wurden auf zahlreichen Top-Konferenzen und Zeitschriften publiziert. Das Stratosphere System ist unter dem Namen Apache Flink frei verfügbar und wird als Open Source System weiterentwickelt.