Odysseus - Ein Framework zur Erstellung von
Datenstrommanagementsystemen

In zunehmendem Maße werden Daten nicht mehr nur auf Abruf (pull) zur Verfügung gestellt, sondern aktiv von einer Quelle als Datenstrom gesendet (push). Anwendungsgebiete sind hier das Verkehrsmanagement, die Logistik, die medizinische Überwachung, die Fertigungssteuerung („Industrie
4.0“) oder das Energiemanagement. In allen diesen Anwendungen müssen Daten integriert, transformiert, analysiert und Ergebnisse zeitnah bereitgestellt sowie erkannte Probleme unmittelbar berichtet werden.


Die Überwachung und Analyse der kontinuierlichen Datenströme findet immer noch zu oft mittels manuell erstellter Programme statt. Es wird zu viel Entwicklungszeit in Standardverarbeitungsschritte wie Einbinden von Quellen oder Zusammenführen und Aggregieren von Daten gesteckt, anstatt sich auf das eigentlich zu lösende Problem „Gewinnung von Informationen aus Daten“ zu konzentrieren. DSMS erlauben es stattdessen, diese Aufgaben mithilfe von deklarativen Anfragen/Regeln performant im Hauptspeicher zu erledigen. In Analogie zu der bereits in den 70er Jahren gewonnenen Erkenntnis, dass eine Verwaltung von Daten mit Hilfe eines Datenbankmanagementsystems einen deutlichen Vorteil gegenüber der Speicherung im Dateisystem bietet, erfolgt auch im Bereich der Verarbeitung von Datenströmen ein Umdenken. Durch die Verwendung von semantisch abstrakteren Konzepten im Rahmen einerAnfragesprache ist es
deutlich schneller möglich, Anwendungen zu erstellen und einfacher zu warten. Domänenexperten werden so in die Lage versetzt, selbst Probleme zu formulieren und die Lösung anzustoßen, statt auf die Realisierung durch Entwickler zu warten. Das DSMS kümmert sich dann um Optimierungsund Skalierungsfragen.

Viele in der Forschung und auf dem Markt existierende DSMS sind als Universalwerkzeuge ausgelegt, die oft nur bestimmte Datenmodelle (i. d. R. nur das relationale) unterstützen und in ihren Kernkomponenten wie bspw. dem Scheduler, der die Ausführung der Anfragen regelt, unzureichend anpassbar sind. Unsere Erfahrung hat gezeigt, dass viele Probleme im Datenstromkontext aber eine Anpassung des Systems verlangen. Dies kann zum einen das Datenmodell sein (bspw. JSON, XML oder RDF ), die Art der Datenverarbeitung (z. B. prioritätsbasiertes Scheduling oder out-of-order, prioritätsgesteuerte Verarbeitung wichtiger Elemente), aber insbesondere auch die Frage, welche Operationen auf den Daten zur Verfügung stehen und welche Quellentypen dem System bekannt sein müssen.

Aus diesem Grund entwickeln wir in IS im Projekt Odysseus seit 2007 ein gleichnamiges OSGi-basiertes Framework für die Erstellung von Datenstrommanagementsystemen, dessen Plug-in-basierte Architektur auf besonders einfache Weise erlaubt, einzelne Komponenten anzupassen und sogar das zugrundeliegende Datenmodell auszutauschen bzw. unterschiedliche Datenmodelle gleichzeitig innerhalb einer Anfrage zu adressieren. Das wesentliche Ziel von Odysseus war und ist die Entwicklung einer Softwareplattform zur Evaluation von Verfahren der Datenstromverarbeitung.


Zur Integration von externen Quellen bietet Odysseus ein modulares und erweiterbares Adapter-Framework, in dem unterschiedliche Ebenen der Verarbeitung (Transportschicht wie TCP, File, MessageBus, Protokollschicht wie CSV, JSON, ByteBuffer) voneinander getrennt werden und durch Kombination zu passendenWrappern werden.Weiterhin existiert ein auf Erweiterbarkeit ausgelegtes Operatorenmodell, in dem die Verarbeitung durch das Framework übernommen wird und nur nur die eigentlicheVerarbeitungslogik (z. B. für einen Filter) realisiert werden muss.
Odysseus hat sich im Laufe der Jahre zu einer idealen Plattform entwickelt, um unterschiedliche Probleme der Datenstromverarbeitung zu adressieren. So wurde es u. a. für die Erstellung von Fahrerassistenzsystemen, die Überwachungim häuslichen Kontext und im Bereich maritimer Sicherheit eingesetzt. Aktuelle Forschungsfragestellungen betrachten u. a. dieVerknüpfung von Recommenderfunktionalitäten, die verteilte Ausführung in einem Peer-2-Peer-Netzwerk sowie die Bereitstellung von Datenstromverarbeitungsmechanismen als Services.

Weitere Informationen, Downloads oder Dokumentation finden sich auf der Projektseite: http://odysseus.informatik.uni-oldenburg.de

Veröffentlichungen