Definition

Was ist Stream Processing?

| Autor / Redakteur: Stefan Luber / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Stream Processing ist ein alternativer Ansatz zum Batch Processing. Daten werden nicht erst zwischengespeichert, sondern direkt nach ihrer Entstehung oder ihrem Empfang in nahezu Echtzeit kontinuierlich verarbeitet und analysiert. Stream Processing kommt beispielsweise im Big-Data-Umfeld oder in digitalisierten Prozessen der Industrie 4.0 zum Einsatz.

Teilweise alternativ genutzte Begriffe für Stream Processing sind Real-Time-Analyse, Stream Analyse, Event Processing oder Data-in-Motion-Processing. Es handelt sich um eine Datenverarbeitungsmethode, die einen gegensätzlichen Ansatz im Vergleich zum Batch Processing verfolgt. Anstatt Daten zunächst zu sammeln, in Datenbanken zu speichern und erst im Nachgang bei Bedarf zu verarbeiten oder zu analysieren, ermöglicht das Stream Processing die Verarbeitung und Analyse von Daten nahezu in Echtzeit.

Die Daten werden direkt nach ihrer Entstehung oder ihrem Empfang mit minimaler zeitlicher Verzögerung prozessiert. Je nach Anwendung handelt es sich bei der Verzögerung um nur einige Millisekunden oder wenige Minuten. Ein empfangener Datenstream kann beispielsweise Aktionen triggern, Statistiken updaten oder neue Datenstreams erzeugen.

Typische Anwendungsbereiche sind das Big-Data-Umfeld, digitalisierte Prozesse der Industrie 4.0, das Internet der Dinge (IoT – Internet of Things), Live-Webseitenauswertungen oder die Live-Reaktion auf Logdaten. Es existieren zahlreiche Softwarelösungen für das Stream Processing wie Apache Flink, Apache Spark, Apache Storm, Kafka Streams, AWS Kinesis, Google Cloud Dataflow oder Microsoft Azure Stream Analytics.

Gründe für das Stream Processing

Durch eine steigende Anzahl von Datenquellen, die kontinuierlich zu analysierende Daten liefern, stößt das Prinzip des Batch Processings an seine Grenzen. Unternehmen sind mit ihren digitalen Prozessen darauf angewiesen, Daten in Echtzeit zu verarbeiten und binnen kurzer Zeit angemessen auf Analyseergebnisse zu reagieren. Je mehr Zeit zwischen der Datenentstehung oder dem Datenerhalt und der Auswertung der Daten liegt, desto geringer ist der Wert der Analyseergebnisse. Zudem erzeugt die Zwischenspeicherung großer Mengen an Daten einen riesigen Bedarf an Ressourcen und Speicherbedarf für Datenbanksysteme. Dynamische Markt- und Produktionsprozesse erwarten zeitnahe Auswertungen in Echtzeit. Stream Processing muss im Gegensatz zum Batch Processing kontinuierliche Datenströme nicht unterbrechen und Daten anschließend wieder aufwendig aggregieren, sondern erzeugt einen kontinuierlichen Ergebnis-Output.

Abgrenzung vom Batch Processing

Klassische Datenverarbeitungsprozesse nutzen das sogenannte Batch Processing. Die deutsche Übersetzung für Batch Processing lautet Stapelverarbeitung. Beim Batch Processing werden Daten nach ihrer Entstehung oder ihrem Erhalt zunächst von einer Eingangslogik sortiert und gegebenenfalls strukturiert. Anschließend erfolgt die Ablage in einer Datenbank. Dort verbleiben die Daten, bis eine Weiterverarbeitung oder eine Analyse der Daten notwendig wird. Die Ausgangslogik entnimmt die benötigten Daten zu einem definierten Zeitpunkt und führt sie der Analyselogik oder der weiterverarbeitenden Anwendung zu. Die erhaltenen Ergebnisse sind nicht echtzeitfähig und basieren immer auf einem historischen Datenbestand zu einem bestimmten Zeitpunkt. Während der Analyse oder der Weiterverarbeitung erhaltene Daten fließen nicht in die Analyseprozesse ein und können erst wieder zu einem späteren Zeitpunkt berücksichtigt werden.

Funktionsprinzip des Stream Processings

Basis des Stream Processings sind kontinuierliche Datenströme. Datenquellen, wie Sensoren, erzeugen einen ständigen Datenstrom in einem bestimmten Datenformat. Der Datenstrom besteht aus Einzeldaten oder kleineren Paketen mit mehreren Daten. Wie viele Daten in die Pakete gefüllt werden, kann zeit- oder mengenabhängig sein. Empfänger wie Analyseanwendungen nehmen den Datenstrom entgegen und verarbeiten ihn. Hierbei lassen sich das sogenannte native Streaming und Micro-Batching unterscheiden. Native Streaming verarbeitet jeden Datensatz sofort, ohne auf weitere Datensätze zu warten. Micro-Batching hingegen sammelt Daten über kurze Zeitabstände (Zeitfenster) und führt anschließend die Weiterverarbeitung durch.

Native Streaming bietet den Vorteil niedrigerer Latenzzeiten und kürzerer Reaktionszeiten auf eingehende Daten. In einigen Bereichen kommt Batch Processing und Stream Processing in einer Mischkonstellation zum Einsatz. Die Datenverarbeitung erfolgt zweigeteilt. Eine Batch-Ebene speichert zeitunkritische Daten und analysiert sie erst zu einem späteren Zeitpunkt, während eine Stream-Ebene die erhaltenen zeitkritische Daten direkt auswertet.

Vorteile des Stream Processings

Stream Processing bietet gegenüber dem herkömmlichen Batch Processing zahlreiche Vorteile. Unternehmen können in Echtzeit auf Ereignisse reagieren. Der Speicherbedarf ist wesentlich niedriger als beim Batch Processing, da Daten zunächst verarbeitet werden und nur bedeutsame Teilbereiche der Daten oder Ergebnisse zu speichern sind. Zudem entspricht das Stream Processing eher dem Charakter der Datenentstehung, die in der Regel kontinuierlich in einem permanenten Datenstrom erfolgt. Datenströme müssen für die Verarbeitung nicht mehr unterbrochen werden.

Verfügbare Stream-Processing-Technologien

Es existieren zahlreiche Technologien und Services für das Stream Processing. So lassen sich beispielsweise die Open-Source-Lösungen von Apache wie Apache Spark, Apache Storm, Apache Flink und Kafka Streams für das Stream Processing verwenden. Darüber hinaus sind kommerzielle Lösungen von fast allen namhaften Anbietern des Cloud Computings verfügbar. Dazu zählen Amazon Web Services mit AWS Kinesis, Google Cloud mit Cloud Dataflow und Microsoft Cloud mit Azure Stream Analytics.

Typische Anwendungsbereiche des Stream Processings

Anwendungsmöglichkeiten für das Stream Processing ergeben sich im Bereich Künstlicher Intelligenz (KI), maschinellen Lernens, Big Data, Industrie 4.0, Internet der Dinge und anderen Bereichen. Im Folgenden einige typische Anwendungsbereiche.

  • Echtzeit-Analyse des Kundenverhaltens im E-Commerce
  • Trigger-Marketing-Kampagnen
  • Analysen von Finanztransaktionen
  • Patientenüberwachung im Gesundheitswesen
  • Monitoring von Produktionsprozessen
  • Optimierung von Logistikketten
  • Intrusion Detection
  • autonomes Fahren
  • Smart Grids
  • Verkehrsüberwachung
  • Userverhalten-bezogene oder Aktions-basierte Werbung
  • Vorausschauende Wartung und Instandhaltung (Predictive Maintenance)

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Open-Source-Software verbreitet sich zunehmend

Ververica erwartet Wachstum

Open-Source-Software verbreitet sich zunehmend

Ververica, Spezialist für Echtzeit-Datenwendungen, sieht eine zunehmende Verbreitung von Open-Source-Software. Sie hat sich mittlerweile zu einem wichtigen Bestandteil der modernen Anwendungsentwicklung entwickelt. lesen

Datenströme analysieren mit SAMOA

Scalable Advanced Massive Online Analysis

Datenströme analysieren mit SAMOA

Apache SAMOA ist eine Plattform für das Mining großer Datenströme. Die Lösung bietet eine Sammlung von verteilten Streaming-Algorithmen für die gängigsten Data-Mining- und Machine-Learning-Aufgaben. lesen

SAS fokussiert sich auf IoT, Cloud-Solutions und KI

Nachbericht SAS Forum 2019 Bonn

SAS fokussiert sich auf IoT, Cloud-Solutions und KI

Auf dem diesjährigen SAS Forum hat der Analytics-Spezialist seine Produkte „SAS Intelligent Decisioning“ und „SAS Analytics for IoT“ vorgestellt sowie „SAS Demand Planning“ angekündigt. Die neue Plattform Viya werde komplett im Kubernetes-Container laufen. Daher wird es künftig neue Preismodelle geben. lesen

Ververica-Plattform in Version 1.4.0 verfügbar

Stream Processing

Ververica-Plattform in Version 1.4.0 verfügbar

Ab sofort bietet Ververica (ehemals Data Artisans) seine Stream-Processing-Plattform in Version 1.4.0 an. Zu den Neuerungen zählen Verbesserungen bestehender Komponenten sowie zusätzliche Funktionen. lesen

SAS und Nvidia starten Partnerschaft

Für Deep Learning und Computer Vision

SAS und Nvidia starten Partnerschaft

Der Analytics-Anbieter SAS hat eine strategische Zusammenarbeit mit Nvidia gestartet. Die Partner wollen im Zuge der Kooperation Unternehmenskunden bei der Integration von Künstlicher Intelligenz (KI) in Geschäftsprozesse unterstützen. lesen

SAS investiert eine Milliarde US-Dollar in KI

Engagement ausgebaut

SAS investiert eine Milliarde US-Dollar in KI

Der Analytics-Spezialist SAS hat angekündigt, im Lauf der kommenden drei Jahre insgesamt eine Milliarde US-Dollar in Künstliche Intelligenz (KI) zu investieren. Die Summe fließt unter anderem in Software-Innovationen, Anwenderschulungen und Beratung. lesen

Event Stream Processing im Jahr 2019

4 Gründe für Datenstromverarbeitung und Apache Flink

Event Stream Processing im Jahr 2019

Im Zuge von Big Data werden riesige Mengen an Daten erzeugt, verarbeitet und gespeichert. Event Stream Processing erlaubt die Datenverarbeitung nahezu in Echtzeit und ohne klassische Stapelverarbeitung. Vier Gründe sprechen laut data Artisans für die Technik. lesen

Datenstrom-Analyse für Java-Entwickler unter AWS

Amazon Kinesis Data Analytics

Datenstrom-Analyse für Java-Entwickler unter AWS

Die Echtzeit-Datenstrom-Analyse mit Amazon Kinesis ist jetzt auch für Java-Entwickler verfügbar. Hierfür können sie Apache Flink und das AWS SDK for Java als Bibliotheken in der integrierten Entwicklungsumgebung ihrer Wahl einbinden. lesen

Bietet Stream Processing für Entwickler Vorteile?

Näher am Geschehen mit Echtzeit-Analyse von Datenströmen

Bietet Stream Processing für Entwickler Vorteile?

Stream Processing erlaubt Echtzeit-Datenanalysen in hochskalierbaren Umgebungen. Doch sowohl auf Seiten der Entwickler als auch bei Bestandsdaten und -anwendungen erfordert die Adaption eine Neuausrichtung. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 46127478 / Definitionen)