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

Universelle Analytik für alle Daten in Echtzeit

Nachbericht Splunk .conf19 Las Vegas

Universelle Analytik für alle Daten in Echtzeit

Splunk, ein Spezialist für IT-Betriebs-Analytik und Security, hat in Las Vegas auf seiner zehnten Anwenderkonferenz .conf19 vor rund 11.000 Besuchern eine Reihe von neuen und aktualisierten Analytik- und KI-Werkzeugen vorgestellt: „Data to everything“. Neben neuen Angeboten für IT-, AI- und DevOps stieß vor allem die Erweiterung des Preismodells auf großes Interesse. lesen

Ververica kündigt Stateful Functions für Apache Flink an

Nachbericht Flink Forward Europe 2019

Ververica kündigt Stateful Functions für Apache Flink an

Ververica, vormals Data Artisans und jetzt bei Alibaba, hat kürzlich für seine Stream-Processing-Plattform auf der Entwicklerkonferenz „Flink Forward Europe 2019“ Stateful Functions für Apache Flink angekündigt. Der Quellcode soll der Apache Flink Community zur Verfügung gestellt werden. lesen

Ververica stellt Trainingsangebot vor

Stream Processing und Apache Flink auf Wachstumskurs

Ververica stellt Trainingsangebot vor

Event Stream Processing, das zur Verarbeitung großer Datenmengen in nahezu Echtzeit eingesetzt wird, erfreut sich einem stetig steigenden Interesse. Ververica (ehemals Data Artisans) reagiert darauf mit einem neuen Trainingsangebot. lesen

Apache Flink in Version 1.9.0 verfügbar

Stream Processing ausgebaut

Apache Flink in Version 1.9.0 verfügbar

Das quelloffene Stream-Processing-Framework Apache Flink ist ab sofort in Version 1.9.0 verfügbar. Die Community freut sich über einen großen Schritt nach vorne, da nun unter anderem Stream- und Batchverarbeitungsfunktionen in einer einheitlichen Runtime integriert sind. lesen

Stateful Stream Processing mit Apache Flink

Kommentar von Fabian Hüske, Ververica

Stateful Stream Processing mit Apache Flink

Apache Flink ist für typische Geschäftsanwendungen gedacht, die bestimmte Geschäftslogiken auf kontinuierliche Datenflüsse in Echtzeit anwenden. lesen

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

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46127478 / Definitionen)