Data Stream

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 Datensätze pro Zeiteinheit (Datenrate) kann variieren und so groß sein, dass nur begrenzte Ressourcen zur Weiterverarbeitung zur Verfügung stehen. Im Gegensatz zu anderen Datenquellen können Datenströme daher nicht als ganzes, sondern nur fortlaufend verarbeitet werden. Insbesondere ist im Gegensatz zu Datenstrukturen mit wahlfreiem Zugriff (wie z. B. Arrays) nur ein sequentieller Zugriff auf die einzelnen Datensätze möglich.

Datenströme werden häufig zur Interprozesskommunikation verwendet, sowohl zur Übertragung von Daten über Netzwerke als auch zur Kommunikation zwischen Prozessen auf einem Rechner. Beispiele für Datenströme sind Wetterdaten sowie Audio- und Videoströme (Streaming Media). Die kontinuierliche Übertragung von Daten über ein Netzwerk wird auch als Streaming bezeichnet.

Inhaltsverzeichnis

Datenströme vs. statische Daten

Nicht strömende, das heißt statische Daten werden in der Regel als Tupel von Werten in Relationen in einer Datenbank gespeichert. Sie sind ungeordnet und begrenzt. Die Daten in Datenströmen besitzen dagegen eine geordnete zeitliche Reihenfolge und können praktisch unbegrenzt auftreten. Während Daten in Relationen auch gezielt aktualisiert und gelöscht werden können, ist in Datenströmen nur das Einfügen von neuen Daten möglich, da nicht mit wahlfreiem Zugriff auf einzelne Elemente zugegriffen werden kann. Es können allerdings mittels spezieller Datenstromalgorithmen einzelne Tupel eines Datenstroms, basierend auf ihren Eigenschaften ausgewählt und ggf. zu einem neuen Datenstrom umgewandelt werden.

Geschichte

Das Konzept von Datenströmen in der Datenverarbeitung lässt sich unter Anderem auf die von Doug McIlroy vorgeschlagenen Pipes zur Verknüpfung von Makros zurückführen, die 1964 als „communication files“ im Dartmouth Time-Sharing System implementiert waren und 1972 in das Betriebssystem Unix integriert wurden. Dabei handelt es sich um eine Datenverbindung zwischen zwei Prozessen nach dem FIFO-Prinzip. Inzwischen findet sich das Prinzip von Streams in den meisten modernen Programmiersprachen.

Verarbeitung von Datenströmen

Verarbeitung von Datenströmen in einem DSMS

Die meisten Datenströme werden mittels speziell auf eine Anwendung zugeschnittenen Programmen verarbeitet. Beispielsweise können Audio/Videoströme mit speziellen Wiedergabeprogrammen abgespielt werden. Zur allgemeinen Verwaltung beliebiger Datenströme werden seit Anfang des 21. Jahrhunderts in der Informatik so genannte Data Stream Management System (DSMS) entwickelt. Diese Systeme, die noch ein relativ neues Forschungsgebiet darstellen, sind vergleichbar mit herkömmlichen Datenbankverwaltungssystemen (DBMS) für statische Daten. Ein Beispiel eines solchen DSMS ist der Stanford Stream Data Manager. Als Anfragesprache wurde in Erweiterung zur SQL im Rahmen dieses Projekts die Continuous Query Language (CQL) entwickelt.

Typische Probleme bei der Verarbeitung von Datenströmen sind große Datenmengen in kurzer Zeit und die begrenzten Ressourcen, die zu ihrer Verarbeitung zur Verfügung stehen. Da die eingehenden Daten nicht alle zwischengespeichert werden können und immer nur ein Ausschnitt der Daten bekannt ist. Damit sind auch nur bestimmte Algorithmen möglich. Auch die zur Auswertung zur Verfügung stehende Zeit ist oft beschränkt, da zeitkritische Anwendungen schnelle Ergebnisse erwarten. Bei Systemen, die innerhalb einer garantierten Zeitspanne ein Ergebnis liefern, spricht man auch von Echtzeitsystemen.

Da die eingehenden Datenströme praktisch unbegrenzt sind, sind die daraus berechneten Ergebnisse einer Verarbeitung von Datenströmen oft selbst wiederum Datenströme. Deshalb wird zwischen eingehenden Datenströmen (ingoing stream, instream oder downstream) und ausgehenden Datenströmen (outgoing stream, upstream) unterschieden.

Literatur

Siehe auch


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

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

  • Data Stream —   [engl.], Datenstrom …   Universal-Lexikon

  • Data stream — This article is about the more general meaning of the term data stream . For the UK specific DSL technology, see Datastream. In telecommunications and computing, a data stream is a sequence of digitally encoded coherent signals (packets of data… …   Wikipedia

  • Data stream mining — is the process of extracting knowledge structures from continuous, rapid data records. A data stream is an ordered sequence of instances that in many applications of data stream mining can be read only once or a small number of times using… …   Wikipedia

  • 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 clustering — In computer science, data stream clustering is defined as the clustering of data that arrive continuously such as telephone records, multimedia data, financial transactions etc. Data stream clustering is usually studied under the data stream… …   Wikipedia

  • 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… …   Deutsch Wikipedia

  • Data Stream Interface — The Data Stream Interface (DSI) is a session layer used to carry Apple Filing Protocol traffic over Transmission Control Protocol. Contents 1 Overview 2 Protocol 2.1 Packet structure 2.2 Commands …   Wikipedia

  • data stream — noun a sequence of digitally encoded coherent signals used in a transmission …   Wiktionary

  • Tabular Data Stream — (TDS) is an application layer protocol, used to transfer data between a database server and a client. Initially designed and developed by Sybase Inc. for their Sybase SQL Server relational database engine in 1984, and later by Microsoft in… …   Wikipedia

  • IBM Intelligent Printer Data Stream (IPDS) — Intelligent Printer Data Stream (IPDS) is IBM’s Systems Application Architecture host to printer data stream for Advanced Function Presentation subsystems. It provides an attachment independent interface for controlling and managing all points… …   Wikipedia

Share the article and excerpts

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