Continuous Queries over Data Streams - Semantics and Implementation

Recent technological advances have pushed the emergence of a new class of data-intensive applications that require continuous processing over sequences of transient data, called data streams, in near real-time. Examples of such applications range from online monitoring and analysis of sensor data fo...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Krämer, Jürgen
Beteiligte: Seeger, Bernhard (Prof. Dr.) (BetreuerIn (Doktorarbeit))
Format: Dissertation
Sprache:Englisch
Veröffentlicht: Philipps-Universität Marburg 2007
Schlagworte:
Online Zugang:PDF-Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!

Der rapide technologische Fortschritt der vergangenen Jahre hat die Entwicklung einer neuen Klasse von Anwendungen begünstigt, die sich dadurch auszeichnen, dass enorme Datenmengen in Form von Datenströmen bereitgestellt und kontinuierlich verarbeitet werden müssen, um zeitnah wichtige Informationen und Kennzahlen zu ermitteln. Beispiele für Anwendungen finden sich in den unterschiedlichsten Bereichen, die sich von der Überwachung und Auswertung von Sensordaten im Verkehrsmanagement oder der Fabrikautomation bis hin zur Trenderkennung in Börsenkursen erstrecken. Konventionelle Datenbanksysteme sind für die erforderliche kontinuierliche Anfrageverarbeitung, bei der die eintreffenden Daten möglichst direkt und ohne vollständige Zwischenspeicherung verarbeitet werden müssen, nicht ausgelegt. Das Ziel dieser Arbeit besteht darin, eine solide Grundlage zur adäquaten Verarbeitung kontinuierlicher Anfragen auf Datenströmen bereitzustellen. Um die Ressourcenanforderungen bei der Verarbeitung zu begrenzen, beziehen sich kontinuierliche Anfragen auf gleitende Fenster über den potentiell unbeschränkt großen Datenströmen. Dieses Vorgehen bietet den Vorteil, dass sich die Ergebnisse einer Anfrage stets auf die aktuellen Daten beziehen, die üblicherweise für die Anwendungen von höherer Relevanz sind. Damit Anwender einen einfachen Zugang zu den neu entwickelten Verfahren finden können, orientiert sich diese Arbeit an bewährter Datenbanktechnologie und adaptiert diese auf das Datenstrommodell. Eine deklarative, eng an den weit verbreiteten SQL-Standard angelehnte Anfragesprache erlaubt es Anwendern, komplexe Applikationslogik auf einfache Weise auszudrücken. Die zu Grunde liegende, aussagekräftige Anfragesemantik basiert auf temporalen Erweiterungen der relationalen Algebra. Darauf aufbauend ist es gelungen, die aus Datenbanken bekannten algebraischen Äquivalenzen auf kontinuierliche Anfragen über Datenströmen zu übertragen, wodurch eine hervorragende Grundlage zur Anfrageoptimierung geschaffen wurde. Für die datengetriebene Verarbeitung sorgt eine bislang einzigartige zeitintervallbasierte Datenstromalgebra umgesetzt durch effiziente Online-Algorithmen. Mittels einer Performanzanalyse gestützt durch experimentelle Studien wird belegt, dass der Zeitintervall-Ansatz für einen Großteil der Anfragen konkurrierenden Ansätzen deutlich überlegen ist. Darüber hinaus widmet sich die Arbeit architekturellen Gesichtspunkten einer adaptiven und skalierbaren Laufzeitumgebung, die in der Lage ist, sich einer variierenden Anfragelast sowie sich über die Zeit ändernden Datenstromcharakteristika anzupassen. Insbesondere werden neue Verfahren vorgestellt, um die Ressourcenallokation von Anfragen zu steuern und Anfragen zur Laufzeit zu optimieren. Die im Rahmen dieser Arbeit entwickelte Funktionalität bildet den Kern der Softwareinfrastruktur PIPES (Public Infrastructure for Processing and Exploring Streams), die sich bereits in diversen Anwendungsgebieten als ein mächtiges und nützliches Werkzeug zur Verarbeitung von Datenströmen bewährt hat.