Data Stream Management System

Data Stream Management System

Ein Data Stream Management System (DSMS) ist ein Datenbanksystem zur Verwaltung von kontinuierlichen Datenströmen. Es ist vergleichbar mit einem Datenbankverwaltungssystem (DBMS), welches für Datenbanken eingesetzt wird. Im Gegensatz zu einem DBMS muss ein DSMS zusätzlich zu den Relationen mit Datenströmen umgehen und auf diesen kontinuierliche Anfragen ausführen können. Zur Formulierung von Anfragen können spezielle Anfragesprachen wie beispielsweise die Continuous Query Language (CQL) eingesetzt werden.

Data Stream Management Systeme sind in der Datenbankwelt noch relativ neu. Zurzeit (2004) werden mindestens drei große Systeme für allgemeine Zwecke entwickelt:

Daneben gibt es eine wachsende Zahl kleinerer Projekte mit verschiedenen Schwerpunkten. Im Gegensatz zu nicht-strömenden Daten, die fast ausschließlich mit universellen Datenbankverwaltungssystemen verwaltet werden, werden für strömende Daten allerdings noch in der Regel Systeme verwendet, die speziell für den Anwendungsfall entwickelt oder angepasst werden.

Inhaltsverzeichnis

Unterschiede zu DBMS

Datenverarbeitung in einem DBMS
Datenverarbeitung in einem DSMS

Während in herkömmlichen Datenbanksystemen bei der Datenauswertung die Datenbasis relativ gleich bleibt und darauf verschiedene Anfragen an das System gestellt werden können, bleiben in einem Data Stream Management System die Anfragen über einen gewissen Zeitraum gleich und es kommen laufend neue Daten hinzu. Diese beiden komplementären Prinzipien sind beispielsweise auch beim Information Retrieval als Ad-hoc-Anfragen (neue Anfragen an gleiche Dokumente) und Routing-Aufgaben (neue Dokumente zu vorgegebenen Anfragen) bekannt (siehe [1]).

Die folgende Tabelle gibt einen Vergleich verschiedener Merkmale eines Database Management Systems (DBMS) und eines Data Stream Management Systems (DSMS):

Database Management System (DBMS) Data Stream Management System (DSMS)
Persistente Daten (Relationen) Flüchtige Datenströme
Random Access Sequentieller Zugriff
Einmalige Anfragen Kontinuierliche Anfragen
(Theoretisch) unbeschränkter Sekundärspeicher Beschränkter Hauptspeicher
Nur der aktueller Zustand ist relevant Berücksichtigung der Eingabe-Reihenfolge
relativ niedrige Update-Rate möglicherweise extrem hohe Update-Rate
keine oder geringe Zeitanforderungen Echtzeitanforderungen
Exakte Daten werden angenommen Veraltete / Ungenaue Daten
Planbare Anfragebearbeitung Variable Datenankunft und -merkmale

Verarbeitung von Strömen und Relationen

Aufbau eines DSMS

Während in herkömmlichen (relationale) Datenbankenbanksysteme die Daten in Tabellen (Relationen) verwaltet werden, kommen in einem DSMS als grundlegende Datenobjekte Datenströme hinzu. Datenströme können als kontinuierliche Folge von Zeit-Wertepaaren aufgefasst werden. Da Datenströme prinzipiell unendlich sind, müssen sie zur Verarbeitung zwischenzeitlich in Relationen umgewandelt werden. Umgekehrt können Relationen wieder in Datenströme umgewandelt werden (siehe Abbildung). Die Verarbeitung von reinen Relationen kann mit herkömmlichen Methoden stattfinden. Die Umwandlung von Strömen in andere Ströme findet über den Umweg von Relationen statt. Die auf SQL aufbauende Continuous Query Language bietet dazu verschiedene Operatoren an.

Formulierung, Planung und Optimierung von Anfragen

Ebenso wie in herkömmlichen Datenbanksystemen werden Anfragen in einer deklarativen Sprache formuliert und zur Ausführung mit Hilfe eines Anfrageplans optimiert. Da möglichst viele Anfragen gleichzeitig abgearbeitet werden sollen, werden die gespeicherten Anfragen möglichst geschickt kombiniert, so dass Teilanfragen mehrfach verwendet werden können.

Die Komponenten eines Plans sind Operatoren, Warteschlangen und Zustände. Die Operatoren entsprechen den aus herkömmlichen Datenbanken bekannten Operatoren wie beispielsweise die Filterung, Sortierung, Join, mathematische Operatoren etc. sowie die Ein- und Ausgabe von Datenströmen. Die einzelnen Operatoren eines Planes sind durch Warteschlangen verbunden, in die Datenobjekte sequentiell hineingeschrieben und in der gleichen Reihenfolge vom nächsten Operator ausgelesen werden. Als Zwischenergebnisse gibt es Zustände wie beispielsweise der Inhalt eines festgelegten Fensters.

Beispiel

DSMS-Anfrageplan.png

Ein Nachrichtenportal möchte auf seiner Seite aktuelle Nachrichten zu den zurzeit am meisten besprochenen Themen sowie die Nachrichtenmenge eines Tages anzeigen. In einem Datenstrom kommen Nachrichten und in einem anderen Datenstrom als „Zeitgeist“ die aktuell wichtigen Themen an. Jede Nachricht ist einem Thema zugeordnet werden. Konkret sollen die Nachrichtentitel der letzten Stunde zu den 10 letzten Themen sowie die Anzahl aller dazu passenden Nachrichten innerhalb der letzten 24 Stunden angezeigt werden. In CQL formuliert sind dies zwei Anfragen:

Q1: SELECT Titel FROM Nachrichten N [Range 1 HOUR], Zeitgeist Z [RANGE 10] WHERE N.Thema = Z.Thema

Q2: SELECT COUNT(*) FROM Nachrichten N [RANGE 1 DAY], Zeitgeist Z [RANGE 10] WHERE N.Thema = Z.Thema

Das DSMS erstellt nun aus diesen Anfragen einen möglichst effizienten Plan, der beispielsweise wie in nebenstehender Abbildung angegeben aussehen könnte. Von den Nachrichten werden zunächst die Titel und Themen projiziert und kommen in eine Warteschlange. Die Themen kommen zunächst in eine Warteschlange und von dort in ein Fenster der Länge 10. Nachrichten und Fenster werden durch einen JOIN-Operator verknüpft und gelangen in ein Fenster das alle Nachrichten eines Tages enthält. Aus diesem Fenster wird über den COUNT-Operator das Ergebnis der Anfrage Q2 ermittelt. Für die Anfrage Q1 schließt sich an das größere Fenster ein kleineres Fenster mit dem Umfang einer Stunde an.


Weblinks

Literatur


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Data-stream management system — A Data stream management system (DSMS) is a computer program that controls the maintenance and querying of data in data streams. A key feature of these DSMSs is the ability to execute a continuous query against a data stream. The use of a DSMS to …   Wikipedia

  • Data Stream — Mit Datenströmen (englisch: data streams) bezeichnet man in der Informatik kontinuierliche Abfolgen von Datensätzen, deren Ende nicht im Voraus abzusehen ist. Die einzelnen Datensätze sind dabei von beliebigem, aber festem Typ. Die Menge der… …   Deutsch Wikipedia

  • Gemstone Database Management System — Infobox programming language name = GemStone Database Management System paradigm = Application framework year = 1991 typing = designer = implementations = dialects = influenced by = Smalltalk,Object oriented programming influenced = J2EEGemStone… …   Wikipedia

  • Glossaire du data mining — Exploration de données Articles principaux Exploration de données Fouille de données spatiales Fouille du web Fouille de flots de données Fouille de textes …   Wikipédia en Français

  • Stanford Stream Data Manager — Der Stanford Stream Data Manager (STREAM) ist ein Data Stream Management System, das an der Stanford University entwickelt wird. Das Programm ist Teil eines gleichnamigen Forschungsprojektes, das im Januar 2006 beendet wurde. Die Programmversion… …   Deutsch Wikipedia

  • Data and object Carousel — The term Carousel was applied because the content of the transmission stream is provided in a cyclic fashion. Contents 1 History 2 Software Carousel 3 Usage and Applications 4 Carousel Management …   Wikipedia

  • System Architecture Evolution — (aka SAE) is the core network architecture of 3GPP s LTE wireless communication standard. SAE is the evolution of the GPRS Core Network, with some differences: simplified architecture all IP Network (AIPN) support for higher throughput and lower… …   Wikipedia

  • Data Access in Real Time — (DART) is a Real time operating system used by EMC Celerra. It is a modified UNIX Kernel with additional functionality. DART is an embedded, real time, operating system comprising a modified UNIX kernel and dedicated file server software that… …   Wikipedia

  • Data Web — refers to a government open source project that was started in 1995 to develop open source framework that networks distributed statistical databases together into a seamless unified virtual data warehouse. Originally funded by the U.S. Census… …   Wikipedia

  • Data center environmental control — is the methodology of maintaining temperature, humidity, and other physical quantities of air in a limited range to allow the IT equipment housed in a data center to perform optimally throughout its lifespan. Contents 1 Air flow 1.1 Background… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”