Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Datenstrom

Mit Datenströmen (englisch data streams) bezeichnet man in der Informatik einen kontinuierlichen Datenfluss von Datensätzen, dessen Ende meist nicht im …

Inhalt4 Abschnitte
  1. 1. Begriff und Einsatz
  2. 2. Unterschied zu statischen Daten
  3. 3. Entwicklung des Konzepts
  4. 4. Verarbeitung und Datenstrommanagement

Begriff und Einsatz

Ein Datenstrom (englisch data stream) ist in der Informatik ein kontinuierlicher Datenfluss von Datensätzen. Sein Ende ist meist nicht im Voraus absehbar. Jeder Datensatz hat einen beliebigen, aber festen Typ und wird fortlaufend verarbeitet, sobald er eintrifft.

Die Datenrate, also die Menge von Datensätzen pro Zeitspanne, kann schwanken. Sie kann so groß werden, dass die begrenzten Ressourcen des Empfängers für die Weiterverarbeitung nicht reichen. Dann muss dieser reagieren, etwa indem er Datensätze verwirft. Datenströme erlauben normalerweise nur sequentiellen Zugriff: Die Datensätze werden Satz für Satz in ihrer Reihenfolge verarbeitet, anders als etwa bei Arrays mit wahlfreiem Zugriff.

Datenströme werden zur Interprozesskommunikation, also zur Kommunikation zwischen Prozessen auf einem Rechner, und zur Datenübertragung über Netzwerke verwendet. Besonders wichtig sind sie für Streaming Media. Im Paradigma „Pipes und Filter“ lassen sich Datenströme vielseitig einsetzen; Unix-Shells nutzen dies häufig. Beispiele sind Wetterdaten sowie Audio- und Videoströme. Die kontinuierliche Übertragung über ein Netzwerk heißt auch Streaming.

Im allgemeinen Sprachgebrauch kann „Datenstrom“ außerdem elektronisch kodierte Daten während ihrer Übermittlung meinen. Dabei ist nicht die fortlaufende Verarbeitung entscheidend, sondern dass die Übermittlung noch nicht abgeschlossen ist. Dazu zählen Up-/Downloads, beim elektronischen Datenaustausch gesendete Daten sowie Datenbestände zum Import oder Export bei SAP.

Unterschied zu statischen Daten

Statische, also nicht strömende Daten sind meist strukturiert gespeichert, häufig als Tupel von Werten in Relationen einer Datenbank. Sie sind begrenzt und nicht zeitlich geordnet.

Daten eines Datenstroms haben dagegen eine geordnete zeitliche Reihenfolge und können praktisch unbegrenzt auftreten. In Relationen lassen sich einzelne Daten gezielt aktualisieren oder löschen. Bei Datenströmen ist nur das Einfügen neuer Daten möglich, weil kein wahlfreier Zugriff auf einzelne Elemente besteht.

Spezielle Datenstromalgorithmen können dennoch einzelne Tupel anhand ihrer Eigenschaften auswählen und sie gegebenenfalls in einen neuen Datenstrom umwandeln. Die umkehrbare Umformung strukturierter Daten in eine datenstromartige Aneinanderreihung heißt Serialisierung.

Entwicklung des Konzepts

Das Konzept von Datenströmen geht unter anderem auf Pipes zurück, die Douglas McIlroy zur Verknüpfung von Makros vorgeschlagen hatte. Sie wurden 1964 im Dartmouth Time-Sharing System als „communication files“ implementiert und 1972 in Unix integriert.

Eine Pipe ist dabei eine Datenverbindung zwischen zwei Prozessen nach dem FIFO-Prinzip: First In, First Out bedeutet, dass die zuerst eingetroffenen Daten zuerst verarbeitet werden. Das Stream-Prinzip findet sich inzwischen in den meisten modernen Programmiersprachen.

Verarbeitung und Datenstrommanagement

Viele Datenströme werden mit Programmen verarbeitet, die genau für eine Anwendung zugeschnitten sind. Audio- und Videoströme können beispielsweise mit speziellen Wiedergabeprogrammen abgespielt werden.

Seit Anfang des 21. Jahrhunderts werden Data Stream Management Systeme (DSMS) zur allgemeinen Verwaltung beliebiger Datenströme entwickelt. Sie sind ein noch relativ neues Forschungsgebiet und entsprechen für Datenströme ungefähr dem, was Datenbankverwaltungssysteme (DBMS) für statische Daten leisten. Ein Beispiel ist der Stanford Stream Data Manager. Im Rahmen dieses Projekts wurde die Continuous Query Language (CQL) als Erweiterung zu SQL entwickelt.

Schwierigkeiten entstehen durch große Datenmengen in kurzer Zeit, begrenzte Verarbeitungsressourcen und die Tatsache, dass eingehende Daten nicht vollständig zwischengespeichert werden können. Es ist stets nur ein Ausschnitt der Daten bekannt; deshalb sind nur bestimmte Algorithmen einsetzbar. Oft ist auch die Auswertungszeit begrenzt, weil zeitkritische Anwendungen schnelle Ergebnisse benötigen. Systeme, die innerhalb einer garantierten Zeitspanne ein Ergebnis liefern, heißen Echtzeitsysteme.

Da Datenströme praktisch unbegrenzt sind, sind Ergebnisse ihrer Verarbeitung oft ebenfalls Datenströme. Man unterscheidet daher eingehende Datenströme (ingoing stream, instream oder downstream) und ausgehende Datenströme (outgoing stream, upstream).

Weiterlesen

Informatik Als einfache Rechengeräte leisteten Abakus und später der Rechenschieber unschätzbare Dienste. 1641 konstruierte Blaise Pascal eine mechanische … Datenfluss Datenfluss ist in der Informatik der Durchlauf von Daten oder Informationen durch Rechnersysteme oder in der Betriebsorganisation durch … Datentyp Die Konkretisierung der Operationsmenge führt zu Abstrakten Datentypen beziehungsweise Algebraischen Strukturen. Mit der weiteren Konkretisierung der … Datenstruktur In der Informatik und Softwaretechnik ist eine Datenstruktur ein Objekt, welches zur Speicherung und Organisation von Daten dient. Es handelt sich um eine … Interprozesskommunikation Deadlocks. Bearbeiten. → Hauptartikel: Deadlock (Informatik). Eine Menge von Prozessen befindet sich in einem Deadlock-Zustand, wenn jeder Prozess aus der … Prozess (Informatik) Ein Prozess ist die Ablaufumgebung für ein Programm auf einem Rechnersystem sowie der darin eingebettete Binärcode des Programmes während der Ausführung. Ein … Computer Ein Computer (englisch; deutsche Aussprache [kɔmˈpjuːtɐ]) oder Rechner ist ein Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Rechnernetz Ein Rechnernetz, Computernetz oder Computernetzwerk ist ein Zusammenschluss verschiedener technischer, primär selbstständiger elektronischer Systeme … Tupel (Informatik) In diversen Programmiersprachen bezeichnet „Tupel“ gemeinhin einen Listen-Datentyp, welcher über eine feste Länge verfügt und nach Definition nicht mehr … Relation (Datenbank) Eine Relation besteht aus Tupeln, jedes Tupel wird durch Attribute beschrieben, die den Typ (mögliche Attributwerte) festlegen und mit einem Attributnamen … Datenbank Eine Datenbank, auch Datenbanksystem genannt, ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe einer Datenbank ist es, große … Pipe (Informatik) Eine Pipe oder Pipeline (englisch Rohrleitung) ist ein Datenstrom zwischen zwei Prozessen durch einen Puffer mit dem Prinzip First In – First Out (FIFO).