Datenstrom

Aus Twilight-Line Medien

Mit Datenströmen (data streams) bezeichnet man in der Informatik einen kontinuierlichen Datenfluss von Datensätzen, dessen Ende meist nicht im Voraus abzusehen ist; die Datensätze werden fortlaufend verarbeitet, sobald jeweils ein neuer Datensatz eingetroffen ist. Die einzelnen Datensätze sind dabei von beliebigem, aber festem Typ. Die Menge der Datensätze pro Zeitspanne (Datenrate) kann variieren und evtl. so groß werden, dass die begrenzten Ressourcen zur Weiterverarbeitung nicht ausreichen und der Empfänger entsprechend reagieren muss (z. B. verwerfen von Datensätzen). Im Gegensatz zu anderen Datenquellen können Datenströme nur Satz um Satz fortlaufend verarbeitet werden – insbesondere ist im Gegensatz zu Datenstrukturen mit wahlfreiem Zugriff (wie z.B. Arrays) meist nur ein sequentieller Zugriff auf die einzelnen Datensätze möglich.

Datenströme werden häufig zur Interprozesskommunikation verwendet (Kommunikation zwischen Prozessen auf einem Rechner) sowie zur Übertragung von Daten über Netzwerke, insbesondere für Streaming Media. Sie sind im Rahmen des Programmierparadigmas Pipes und Filter vielseitig einsetzbar; in Unix-Shells ist dies ein gängiges Arbeitsmittel. 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.

Abweichend von der Bedeutung im Zusammenhang mit dem „Streaming“ wird der Ausdruck ‚Datenstrom‘ im Sprachgebrauch auch allgemeiner als „elektronisch kodierte Daten im Stadium der Übermittlung“ verwendet; hierbei ist der Aspekt der fortlaufenden Verarbeitung unwichtig, dafür wird betont, dass die Übermittlung noch nicht abgeschlossen ist. Beispiele dafür sind: Up-/Downloads; beim elektronischen Datenaustausch gesendete Daten; Datenbestände zum Import oder Export bei SAP.

Datenströme vs. statische Daten[Bearbeiten]

Nicht strömende, das heißt statische Daten liegen in der Regel strukturiert abgespeichert vor, oft als Tupel von Werten in Relationen in einer Datenbank. Sie sind begrenzt und nicht zeitlich geordnet. 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. Das (umkehrbare) Umformen strukturierter Daten in eine datenstromartige Aneinanderreihung bezeichnet man auch als Serialisierung.