Event Streaming bezeichnet eine Methode, Daten kontinuierlich von Anwendungen, Datenbanken und IoT-Geräten zu erfassen und zu verschiedenen Zielen zur Verarbeitung und Speicherung zu transportieren Aufzeichnungen von Daten, die man auch als Events bezeichnet, können sofort verarbeitet werden, um Automatisierung und Entscheidungen in Echtzeit zu unterstützen, oder für spätere Analysen gespeichert werden.
Eine Schlüsselfunktion im Event Stream Processing (ESP) ermöglicht es IT-Infrastrukturen, große, kontinuierliche Event Streams zu verwalten, indem Daten verarbeitet werden, wenn das Ereignis oder die Änderung eintritt. Event Streaming unterscheidet sich von Stream Processing. Event Streaming stellt die Infrastruktur für die Übertragung und Speicherung von Ereignissen bereit. Beim Stream Proccessing können Filter, Aggregation oder Anreicherung auf diese Events angewendet werden.
Event Streaming ergänzt in manchen Fällen die Batch-Verarbeitung, die auf große, statische Datensätze (oder „Data at Rest“) angewendet wird. Statt Daten in Batches zu verarbeiten, kann Event Streaming jedoch ungebundene Daten verarbeiten, sobald sie eintreffen. Dieser Ansatz ermöglicht es der Software innerhalb der Architektur, Datenströme („Data in Motion“) in Echtzeit zu interpretieren und darauf zu reagieren.
Leistungsstarke Event-Streaming-Services können eine Reihe einfacher und komplexer Aufgaben bewältigen, vom Versenden von Benachrichtigungen bei Änderungen von Lagerbeständen oder Produktpreisen bis hin zu komplexeren Workloads. Sie können außerdem KI und Echtzeit-Modelle des maschinellen Lernens unterstützen, die verdächtige Nutzeraktivitäten erkennen.
Selbst bei der Stapelverarbeitung kann Event Streaming die Datenanalyse vertiefen, indem Ereignisse mit ihren jeweiligen Zeitstempeln verknüpft werden. Es hilft auch dabei, historische Trends zu erkennen und liefert so im Laufe der Zeit wertvolle Erkenntnisse.
Bleiben Sie mit dem Think-Newsletter über die wichtigsten – und faszinierendsten – Branchentrends in den Bereichen KI, Automatisierung, Daten und mehr auf dem Laufenden. Weitere Informationen finden Sie in der IBM Datenschutzerklärung.
Event Streaming dreht sich um den kontinuierlichen und potenziell unbegrenzten Fluss von Datenaufzeichnungen, sogenannten „Events“, grundlegenden Datenstrukturen, die jedes Vorkommen im System oder in der Umgebung aufzeichnen. Ein Event ist ein unveränderlicher Nachweis, dass etwas passiert ist (zum Beispiel dass eine Bestellung aufgegeben oder eine Zahlung autorisiert wurde). Ein „Stream“ (auch Datenstrom oder Streaming-Daten genannt) ist die kontinuierliche Bereitstellung dieser Events.
Jedes Event umfasst in der Regel einen Schlüssel, der das Event oder die Entität, auf die es sich bezieht, identifiziert, zusammen mit einem Wert, der die eigentlichen Daten des Events enthält. Außerdem enthält es einen Zeitstempel, der angibt, wann es aufgetreten ist oder aufgezeichnet wurde, und in manchen Fällen Metadaten über die Datenquelle, die Schemaversion oder andere Attribute.
Mit Hilfe spezialisierter Stream-Processing-Engines können Events innerhalb eines Streams verschiedene Prozesse durchlaufen. „Aggregationen“ führen Datenberechnungen durch, wie Mittelwerte, Summen und Standardabweichungen. „Ingestion“ fügt Streaming-Daten zu Datenbanken hinzu. Die Analyseverarbeitung nutzt Muster in Streaming-Daten, um zukünftige Events vorherzusagen, und die Anreicherungsverarbeitung kombiniert Datenpunkte mit anderen Datenquellen, um für Kontext und Bedeutung zu sorgen.
Da Unternehmen große Mengen an Eventdaten erzeugen, kann die Echtzeitanalyse nützlich sein, um Muster, Anomalien und Trends zu erkennen, sobald sie auftreten. Die KI nutzt diese Echtzeit-Erkenntnisse, indem sie komplexe Zusammenhänge in Event Streams erkennt, Prognosen generiert und Handlungsempfehlungen ausspricht.
Diese Fähigkeit wird zunehmend zur Voraussetzung für KI-Systeme: Laut IDC erfordern 80 % der agentischen KI-Anwendungsfälle Echtzeit-, kontextuelle und umfassend zugängliche Daten. Ob zur Unterstützung von Analysen, KI oder automatisierten Workflows – diese Systeme basieren auf einem kontinuierlichen Event-Flow, der die Aktivitäten innerhalb von Unternehmen repräsentiert.
Events sind mit Geschäftsvorgängen oder Prozessen der Benutzernavigation verbunden und lösen in der Regel eine andere Aktion, einen Prozess oder eine Reihe von Ereignissen aus. Nehmen wir als Beispiel das Online-Banking. Wenn ein Benutzer auf „Überweisung“ klickt, um Geld von einem Bankkonto an ein anderes zu senden, werden die Gelder vom Konto des Absenders abgehoben und dem Bankkonto des Empfängers hinzugefügt, E-Mail- oder SMS-Benachrichtigungen werden an eine der beiden Parteien (oder an beide) gesendet, und falls erforderlich, werden Sicherheits- und Betrugspräventionsprotokolle bereitgestellt.
Veranstaltungen sind die zentrale Komponente des Event Streamings. Allerdings ermöglicht eine Reihe anderer Komponenten den Streaming-Diensten, Ereignisse so schnell und effektiv zu verarbeiten, wie sie es tun. Zu den weiteren wichtigen Komponenten gehören:
Broker erhalten Events von Veranstaltern, organisieren und speichern diese und stellen sie den Verbrauchern zur Verfügung. Durch ihre Funktion als Vermittler ermöglichen Broker Produzenten und Verbrauchern die Kommunikation ohne direkte Verbindungen, wodurch jeder unabhängig agieren und skalieren kann.
In verteilten Event-Streaming-Systemen sorgen Broker für geringe Latenzen und hohe Verfügbarkeit, indem sie Events über mehrere Knotenpunkte hinweg replizieren. Broker können auch Cluster bilden – Gruppen von Brokern, die zusammenarbeiten, um Lastausgleich und Skalierbarkeit zu erleichtern.
Themen sind Kategorisierungen oder Feed-Namen, unter denen Ereignisse veröffentlicht werden und die eine Möglichkeit bieten, Ereignisse innerhalb der Plattform zu organisieren und zu filtern. Sie fungieren als „Subjekt“ für Ereignisse und ermöglichen es den Verbrauchern, Themen zu abonnieren und nur relevante Ereignisse zu erhalten.
Themen können weiter in Partitionen unterteilt werden, so dass mehrere Verbraucher gleichzeitig aus einem Thema lesen können, ohne die Reihenfolge der einzelnen Partitionen zu stören.
Ein Offset ist ein eindeutiger Bezeichner für jedes Ereignis innerhalb einer Partition, der die Position eines Ereignisses innerhalb der Sequenz markiert. Verbraucher verwenden Offsets, um die von ihnen verarbeiteten Ereignisse zu organisieren. Wenn ein Verbraucher beispielsweise die Verbindung zu einem Ereignis unterbricht und später wieder aufnimmt, kann er die Verarbeitung ab dem letzten bekannten Offset fortsetzen.
Angesichts der Datenflut – und des daraus resultierenden Anstiegs des Datenverkehrs – ist Event Streaming ein wesentlicher Bestandteil moderner Datenarchitekturen. Es ist besonders hilfreich in Umgebungen, die blitzschnelle Entscheidungsfindung erfordern, oder in Unternehmen, die ihre Entscheidungsprozesse automatisieren wollen.
So verwalten Event-Streaming-Services Ereignisdaten:
Event Streaming wird meist als verteilte Architektur implementiert, die darauf ausgelegt ist, kontinuierliche Eventdatenströme zu erfassen, zu speichern, zu verarbeiten und über mehrere Systeme zu verteilen. Anstatt sich auf direkte Punkt-zu-Punkt-Verbindungen zu verlassen, nutzen Event-Streaming-Architekturen eine gemeinsame Infrastruktur, die Datenproduzenten von Verbrauchern entkoppelt, sodass Anwendungen unabhängig skalieren und Informationen in Echtzeit austauschen können. Mehrere zentrale architektonische Komponenten machen dieses Framework möglich:
Eine Schlüsselkomponente der meisten Event-Streaming-Architekturen ist ein Event-Broker, der als langlebiges, skalierbar Rückgrat für Eventdaten fungiert. Events werden Themen innerhalb eines verteilten Logbuchs zugeschrieben, wo sie in der Reihenfolge des Empfangs gespeichert werden und für die spätere Nutzung verfügbar bleiben.
Diese Architektur ermöglicht es mehreren Anwendungen, unabhängig voneinander auf denselben Event Stream zuzugreifen, ohne dass eine direkte Integration mit den Systemen erforderlich ist, die die Daten erzeugt haben. Technologien wie Apache Kafka, Amazon Kinesis und Apache PULSAR bieten häufig diese Funktionen an.
Zur Unterstützung großer Workloads werden Event Streams normalerweise in Themen organisiert und in Partitionen unterteilt, die auf mehrere Server verteilt werden können. Die Partitionierung ermöglicht eine parallele Verarbeitung und höhere Durchsatzleistung, während Replikationen Datenkopien über verschiedene Knoten hinweg erzeugen, um die Fehlertoleranz und Verfügbarkeit beim Ausfall einzelner Komponenten zu verbessern.
Event-Streaming-Architekturen trennen die Systeme, die Daten erzeugen, von den Systemen, die diese Daten verwenden. Produzenten veröffentlichen Events zu Themen, während Konsumenten diese Themen abonnieren und Events unabhängig verarbeiten. Dieses entkoppelte Design ermöglicht das Hinzufügen neuer Anwendungen und Dienste, ohne die Systeme zu ändern, die die Daten generieren.
Viele Event-Streaming-Architekturen beinhalten eine Stream-Processing-Ebene, die Ereignisse analysiert und transformiert, während sie das System durchlaufen. Zu den gängigen Stream-Processing-Technologien gehören Apache Flink, Kafka Streams, ksqlDB und Apache Spark Structured Streaming. Diese Technologien unterstützen Operationen wie Filterung, Anreicherung, Joins und Aggregationen auf kontinuierlich eingehenden Daten.
Bei einigen Streaming-Workloads müssen Anwendungen Informationen über vergangene Events speichern. Eine E-Commerce-Plattform könnte beispielsweise alle in der letzten Stunde getätigten Käufe analysieren, um Trendprodukte zu identifizieren und Empfehlungen nahezu in Echtzeit zu aktualisieren. Das Zustandsmanagement ermöglicht es dem System, diese Informationen im Laufe der Zeit zu speichern und zu aktualisieren, während die Fenstertechnik kontinuierliche Datenströme zur Analyse in zeitbasierte oder ereignisbasierte Intervalle einteilt.
Event-Streaming-Architekturen umfassen in der Regel Mechanismen, die Datenverluste verhindern und die Wiederherstellung nach Ausfällen unterstützen. Je nach Anwendungsanforderungen können Systeme eine Verarbeitungsgarantie von höchstens einmal, mindestens einmal oder genau einmal bieten. Checkpointing, Replikation und Consumer-Offset-Tracking tragen dazu bei, die Datenkonstanz bei Unterbrechungen oder Systemneustarts aufrechtzuerhalten.
Die verarbeiteten Events werden üblicherweise an nachgelagerte Ziele wie Datenbanken, Data Warehouses, Data Lakes, Suchindizes, Systeme für maschinelles Lernen oder andere Event Streams übermittelt. Diese Integrationen ermöglichen die Nutzung von Eventdaten zur Unterstützung von Echtzeitanalyse, operativen Anwendungen, Automatisierungs-Workflows und KI-Anwendungen.
Zusätzlich zum Standard-Streaming und zur Verarbeitung ermöglichen Event-Streaming-Plattformen wie Amazon Kinesis, Google Cloud Pub/Sub, Azure Event Hubs und IBM® Event Automation eine Reihe von Streaming-Praktiken zur Verbesserung der Funktionalität. IBM Event Automation nutzt insbesondere die Rechenleistung der Open Source Plattform Apache Kafka, um eventgesteuerte Workflows zu optimieren. Diese Funktionen helfen Unternehmen auch dabei, die Echtzeit-Datenpipelines bereitzustellen, von denen Analyse- und KI-Systeme abhängen.
Die Genau-einmal-Verarbeitung bedeutet, dass jedes Event in einem Stream genau einmal verarbeitet wird, eine wesentliche Funktion zur Vermeidung von doppelten und verlorenen Stream Events. Die meisten Event-Streaming-Systeme enthalten Mechanismen, die unabhängig von Ausfällen an anderen Stellen im System eine Genau-einmal-Semantik bieten.
Wenn nachgelagerte Komponenten nicht mit der eingehenden Eventrate mithalten können, verhindert der Gegendruck (Backpressure), dass die Streams das System überwältigen. Mit Backpressure, einem Mechanismus zur Kontrolle des Datenflusses, können Konsumenten den Produzenten signalisieren, die Datenproduktion zu drosseln oder zu stoppen, wenn sie mit der Datenverarbeitung überfordert sind oder mit den eingehenden Events nicht Schritt halten können.
Dieser Prozess ermöglicht es Systemen, Workloads zu bewältigen, indem eingehende Events gepuffert oder verworfen werden – anstatt das gesamte System zu unterbrechen – sodass das Event Processing auch bei schwankenden Workloads stabil bleibt.
Event-Verbraucher arbeiten oft als Teil einer Verbrauchergruppe, um den Event-Konsum zu beschleunigen. Jedem Verbraucher in einer Verbrauchergruppe wird eine Teilmenge von Partitionen zugewiesen, wodurch der parallele Verbrauch für mehr Effizienz ermöglicht wird. Wenn ein Verbraucher innerhalb der Gruppe ausfällt oder hinzugefügt oder entfernt werden muss, kann die Plattform Partitionen dynamisch neu zuweisen, um das Gleichgewicht und die Fehlertoleranz aufrechtzuerhalten.
Event Streaming bedeutet oft eine zeitkritische Verarbeitung von Daten. Ein Wasserzeichen dient als Einschätzung des Systems, wie weit die Eventzeit fortgeschritten ist. Wasserzeichen erzwingen eine Vollständigkeitsschwelle, die angibt, wann das System die Eventdaten als vollständig verarbeitet betrachten kann. Wasserzeichen können auch nützlich sein, wenn es darum geht, die Genauigkeit bei der zeitbasierten Verarbeitung zu gewährleisten und Events abzugleichen, die nicht in Ordnung sind.
Die meisten Event-Streaming-Plattformen bieten anpassbare Datenaufbewahrungsrichtlinien, mit denen Entwickler steuern können, wie lange Ereignisse für den Konsum verfügbar sind. Die Datenverdichtung ist jedoch ein Prozess, bei dem redundante oder veraltete Daten aus den Themen entfernt werden, um den Speicherplatzbedarf gering zu halten und gleichzeitig die wesentlichen Daten zu erhalten.
Es ist erneut erwähnenswert, dass Standard-Streaming-Architekturen in der Regel Eventproduzenten, Event-Broker und Verbraucher entkoppeln, sodass Komponenten unabhängig voneinander skaliert und gewartet werden können. Diese Flexibilität ermöglicht es Unternehmen, zahlreiche nachgelagerte Anwendungen zu unterstützen, darunter Echtzeitanalyse, KI-gestützte Entscheidungsfindung und automatisierte Workflows. Diese Flexibilität ermöglicht es Unternehmen, zahlreiche nachgelagerte Anwendungen zu unterstützen, darunter Echtzeitanalyse, KI-gestützte Entscheidungsfindung und automatisierte Workflows.
Der Unterschied zwischen Event Streaming und Batch-Verarbeitung besteht darin, dass Event Streaming Daten kontinuierlich verarbeitet, sobald Ereignisse auftreten, während die Batch-Verarbeitung angesammelte Daten periodisch oder bei Bedarf verarbeitet.
Event Streaming und Batch-Verarbeitung bewegen und verarbeiten Daten, unterscheiden sich aber hauptsächlich darin, wann und wie die Daten verarbeitet werden. Event Streaming erfasst und transportiert kontinuierlich Events aus Quellen wie Anwendungen, Datenbanken und IoT-Geräten, während diese Events auftreten. Anstatt auf einen vollständigen Datensatz zu warten, verarbeiten die Systeme einzelne Events oder kleine Gruppen von Events, sobald diese eintreffen, und unterstützen so Analysen und Reaktionen mit geringer Latenz.
Dieser Ansatz eignet sich gut für Anwendungsfälle, in denen der Wert der Daten von ihrer Aktualität abhängt. Beispiele hierfür sind Betrugserkennung, Betriebsüberwachung, Empfehlungen in Echtzeit und KI-Systeme, die auf aktuellen Informationen basieren.
Die Batch-Verarbeitung sammelt Daten über einen definierten Zeitraum und verarbeitet sie gemeinsam als diskrete Workload. Da Ergebnisse nicht sofort erzeugt werden müssen, ist Batch-Verarbeitung für Aufgaben wie die Erstellung täglicher Berichte, das Abgleichen von Konten oder das Aktualisieren von Analyse-Dashboards geeignet.
Darüber hinaus ergänzen sich die beiden Ansätze und schließen sich nicht gegenseitig aus: Ein Unternehmen könnte Event Streaming nutzen, um Aktivitäten während des Auftretens zu erkennen und darauf zu reagieren, und dann die Batch-Verarbeitung, um eine umfassende historische Analyse der gesammelten Daten durchzuführen.
Vergleichspunkt | Event-Streaming | Stapelverarbeitung |
Datenfluss | Verarbeitet einen kontinuierlichen, potenziell unbegrenzten Event-Flow | Verarbeitet eine begrenzte Datenmenge |
Bearbeitungszeitpunkt | Behandelt Events, sobald sie eintreten | Läuft in festgelegten Abständen oder nachdem genügend Daten angesammelt wurden |
Latenz | Meist für Ergebnisse mit geringer Latenz optimiert | Häufige Verzögerungen zwischen Datenerstellung und -verarbeitung |
Operative Überlegungen | Muss Probleme wie verspätete oder ausgelaufene Events und einen kontinuierlich aktuellen Zustand berücksichtigen | Unterstützt die wiederholbare Verarbeitung beschränkter Datensätze, obwohl fehlgeschlagene Jobs eine teilweise oder vollständige Nachbearbeitung erfordern können |
Anwendungsfälle | Situationen, die sofort oder nahezu in Echtzeit Reaktionen erfordern | Groß angelegte Workloads, bei denen Vollständigkeit und Verarbeitungseffizienz Vorrang vor Unmittelbarkeit haben |
Event Streaming ist ein leistungsfähiges Konzept, das es Unternehmen ermöglicht, Daten zu nutzen, sobald sie generiert werden, und so reaktionsschnellere und intelligentere Systeme zu schaffen. Mit der Zunahme der datengesteuerten Entscheidungsfindung wird das Event Streaming zu einer immer wichtigeren Komponente in modernen Software-Architekturen.
Event-Streaming-Technologien können in verschiedenen Geschäftsbereichen eingesetzt werden, darunter:
Finanzinstitute könnten Event-Streaming-Services nutzen, um Marktdaten und Finanztransaktionen in Echtzeit zu verarbeiten. Dieser Ansatz ermöglicht es algorithmischen Handelssystemen, Entscheidungen in Sekundenbruchteilen auf der Grundlage aktueller Marktbedingungen zu treffen und schnell auf sich ändernde Aktiengeschäfte zu reagieren. Die Echtzeit-Überwachungsfunktionen von Event Streaming unterstützen auch die Betrugserkennung und helfen Instituten, Betrugs- und Sicherheitsrisiken schnell zu erkennen und zu bekämpfen.
Event Streaming kann die Optimierung der Lieferkette erleichtern, indem es Herstellern ermöglicht, Materialien und Produkte auf ihrem Weg durch die Lieferkette zu verfolgen, um Engpässe und Prozessineffizienzen zu erkennen. Darüber hinaus können Manager Daten von IoT/IIoT-Sensoren an Maschinen streamen und KI-Modelle verwenden, um vorherzusagen, wann und warum Geräte ausfallen könnten. Sie können dann vorbeugende oder vorausschauende Wartungsarbeiten durchführen, um ungeplante Ausfallzeiten zu vermeiden.
Online-Gaming-Plattformen können Event-Streaming-Services nutzen, um Aktionen von Spielern und Änderungen des Spielzustands zu verfolgen. Diese können zur Spielanalyse, zur Durchsetzung von Anti-Betrugsrichtlinien und zur Steigerung des Spieler-Engagements genutzt werden. Streaming-Plattformen können Ereignisdaten nutzen, um personalisierte Inhaltsempfehlungen für die Nutzer bereitzustellen und eine maßgeschneiderte Customer Experience zu schaffen.
Die Echtzeit-Daten zu Fahrzeugstandort und -status, die über ereignisgesteuerte Systeme gestreamt werden, ermöglichen es KI-Modellen, Verzögerungen vorherzusagen und betriebliche Anpassungen zu empfehlen, wenn sich die Bedingungen ändern. Logistikunternehmen können auch Eventdaten von Scannern und GPS-Trackern nutzen, um Kunden in Echtzeit über den Status ihrer E-Commerce-Lieferungen zu informieren.
Abgesehen von bestimmten Branchen kann Event Streaming auch nützlich sein, wenn es in Verbindung mit anderen Technologien und Architekturen eingesetzt wird. So wird Event Streaming manchmal mit Mustern wie Event Sourcing und Command Query Responsibility Segregation (CQRS) in Verbindung gebracht.
Event Sourcing ist ein architektonisches Muster, bei dem Änderungen am Zustand der Anwendung als eine Folge von Events gespeichert werden. In Verbindung mit Event Streams ermöglicht das Event Sourcing dem Streaming-System, diese Events wiederzugeben, um den Zustand einer Entität zu einem beliebigen Zeitpunkt zu rekonstruieren oder um andere Komponenten des Systems zu steuern.
Bei einem CQRS-Architekturmuster ist das System in zwei verschiedene Modelle aufgeteilt: eines, das Befehle verarbeitet (Schreiben) und eines, das Abfragen verarbeitet (Lesen). Event Streaming kann in CQRS verwendet werden, um Änderungen vom Schreibmodell in das Lesemodell in Echtzeit zu übertragen und so eine asynchrone Integration zwischen den beiden Modellen zu ermöglichen.
Event Streaming ist auch eine grundlegende Technologie für den Aufbau ereignisgesteuerter Architekturen. Eine ereignisgesteuerte Architektur ermöglicht es lose gekoppelten Komponenten, über Events zu kommunizieren. Anstatt Event Streams an einen Broker zu senden, wird ein einziges Event veröffentlicht, das eine andere App oder ein anderer Dienst verwenden kann, um Aktionen auszuführen.
Die In-Stream-Verarbeitungsleistung von ereignisgesteuerten Architekturen in Verbindung mit Event-Streaming-Funktionen kann Unternehmen in die Lage versetzen, auf Daten in Bewegung zu reagieren und schnelle Entscheidungen auf der Grundlage von aktuellen und historischen Daten zu treffen. Diese Echtzeit-Reaktionsfähigkeit unterstützt auch Analyse- und KI-Anwendungen, die auf kontinuierlich aktualisierte Daten angewiesen sind.
In den letzten Jahren haben Cloud-Anbieter damit begonnen, die Prinzipien des Event Streaming als Services anzubieten. Event Streaming als Service macht es für Unternehmen einfacher, Event Streaming einzuführen, ohne die gesamte zugrunde liegende Infrastruktur zu verwalten. Das erweitert die Anwendungsfälle von Event Streaming noch weiter.
IBM Ereignisautomatisierung ist eine modulare Lösung, die Unternehmen dabei hilft, ihre ereignisgesteuerten Aktivitäten mit Funktionen zur Verteilung, Erkennung und Verarbeitung von Ereignissen zu beschleunigen.
KI-gestützte Automatisierung — Produktivität neu definieren, Widerstandsfähigkeit stärken und Wachstum beschleunigen.
Befähigen Sie Ihr Unternehmen, im Zeitalter der agentischen KI mit dem vollen Potenzial der Hybrid Cloud erfolgreich zu sein.