Im Gegensatz zur traditionellen Batch-Verarbeitung, die mit statischen Datensätzen arbeitet, verarbeitet die Stream-Verarbeitung kontinuierliche Datenströme aus verschiedenen Quellen wie Sensoren, Social-Media-Plattformen, Finanztransaktionen und Geräten des Internets der Dinge (IoT). Jede Änderung, Aktion oder jedes Vorkommnis innerhalb dieser Quellsysteme kann als „Event“ dargestellt werden, weshalb die Streamverarbeitung manchmal auch als „Event Streams“ bezeichnet wird.
Dieser Echtzeitansatz hilft Unternehmen, sofort auf neue Informationen zu reagieren, was die Streamverarbeitung ideal für Anwendungen wie Betrugserkennung, vorausschauende Analysen und personalisierte Customer Experiences macht. Plattformen wie Apache Kafka werden häufig genutzt, um die Streamverarbeitung zu unterstützen, indem sie es Systemen ermöglichen, große Datenmengen in Echtzeit zuverlässig und in großem Maßstab zu veröffentlichen, zu transportieren und zu verarbeiten.
Die Streamverarbeitung ist auch für künstliche Intelligenz (KI) und maschinelles Lernen (ML) wichtig, die oft auf aktuelle, kontinuierlich aktualisierte Daten angewiesen sind, um genaue Vorhersagen und Erkenntnisse zu liefern. Ohne Streamverarbeitung verlassen sich Modelle möglicherweise auf veraltete oder unvollständige Daten, was die Vorhersagegenauigkeit verringern und das Risiko erhöhen kann.
Die Architektur der Streamverarbeitung enthält Technologien und Muster, die Datenströme in Echtzeit aufnehmen, transportieren, verarbeiten und analysieren.
In einer typischen Architektur werden kontinuierliche Datenströme durch eine Streaming-Datenplattform geleitet, wo sie aufgenommen, gespeichert und nachgelagerten Systemen zur Verfügung gestellt werden. Frameworks und Anwendungen zur Streamverarbeitung verarbeiten die Daten dann in Echtzeit und liefern sie an nachgelagerte Ziele weiter.
Einige Architekturen der Streamverarbeitung folgen architektonischen Mustern wie Lambda oder Kappa. Die Lambda-Architektur verwendet einen Dual-Pipeline-Ansatz, der sowohl Batch- als auch Streamverarbeitung kombiniert, oft zur Unterstützung der Analyse historischer Daten und der Verarbeitung mit geringer Latenz. Kappa verwendet eine einzige Streaming-Pipeline für alle Daten, was die Gesamtarchitektur vereinfacht und häufig für ereignisgesteuerte Daten ausgewählt wird.
Streaming-Datenplattformen bilden die Grundlage für Echtzeit-Datenpipelines und Anwendungen. Sie dienen als Nachrichtenautobahn und Speicherebene, die den Datenfluss zwischen Systemen oder Anwendungen, die Ereignisse erzeugen, und den Diensten oder Anwendungen, die diese Ereignisse verarbeiten oder analysieren, ermöglicht.
Apache Kafka ist eine der am weitesten verbreiteten Open-Source-Plattformen für Event Streaming. Durch sein verteiltes, dauerhaftes Ereignisprotokoll ermöglicht Kafka Anwendungen das Veröffentlichen, Abonnieren, Speichern und erneute Abspielen von Datenströmen. Diese Funktionen machen es nützlich für Echtzeitanalysen, Anwendungsintegration, Betrugserkennung, IoT-Datenverarbeitung und ereignisgesteuerte Architekturen.
Confluent ist eine Datenstreaming-Plattform, die auf Apache Kafka basiert. Sie bietet Managed Services, Konnektoren, Governance, Schema-Management, Tools für Sicherheit und Streamverarbeitung, um Unternehmen beim Betrieb von Kafka in großem Maßstab zu unterstützen.
Zu den weiteren Streaming-Datenplattformen und -diensten gehören:
Frameworks zur Streamverarbeitung sind Tools, die Entwickler verwenden, um Daten in Bewegung zu verarbeiten und zu analysieren. Während Streaming-Plattformen wie Kafka sich auf die Aufnahme, Speicherung und den Transport von Event Streams konzentrieren, liegt der Fokus von Frameworks auf der Datenverarbeitung: dem Filtern, Transformieren, Zusammenführen, Aggregieren und Analysieren von Daten, während sich diese durch eine Pipeline bewegen.
Viele Frameworks zur Streamverarbeitung lassen sich in Kafka integrieren und nutzen Kafka-Topics als Quelle für eingehende Ereignisse und als Ziel für verarbeitete Ergebnisse.
Beispiele für Frameworks und Tools zur Streamverarbeitung sind:
Stellen Sie sich vor, Sie überwachen die Vitalparameter eines Patienten, überprüfen die Daten aber nur alle paar Stunden – den medizinischen Dienstleistern würden kritische Veränderungen entgehen, die ein sofortiges Eingreifen erfordern.
Unternehmen aus verschiedenen Branchen sind ähnlichen Risiken ausgesetzt, wenn sie ausschließlich mit verzögerter oder Batch-basierter Datenverarbeitung arbeiten. Um schnell und präzise handeln zu können, benötigen sie Zugriff auf Informationen in Echtzeit. Systeme zur Streamverarbeitung erfüllen diesen Bedarf, indem sie Daten kontinuierlich in Echtzeit aufnehmen und analysieren, wodurch die Latenz bei geplanten Extract-, Transform-, Load-Workloads (ETL) von Batches reduziert wird.
Durch die Echtzeitverarbeitung von Daten aus verteilten Systemen in hybriden und Multi-Cloud-Umgebungen, wie relationalen Datenbanken, Data Lakes, Message Queues, IoT-Geräten und Unternehmensanwendungen, hilft die Streamverarbeitung Unternehmen dabei, eine einheitlichere, nahezu in Echtzeit verfügbare Sicht auf die Betriebsdaten zu ermöglichen. Dies unterstützt Anwendungsfälle wie Anomalieerkennung, Betrugsprävention, dynamische Preisgestaltung und Echtzeitpersonalisierung.
Auch für die Skalierung von KI-Initiativen, die auf kontinuierlich aktualisierte Daten angewiesen sind, wird die Streamverarbeitung immer wichtiger. Mit zunehmendem Datenvolumen und wachsender Modellkomplexität muss die Dateninfrastruktur von Unternehmen in der Lage sein, einen hohen Durchsatz zu bewältigen und schnell in verteilten Umgebungen zu skalieren.
Forschungsarbeiten des IBM Institute for Business Value zeigen, dass etwa die Hälfte der befragten Unternehmen Netzwerkoptimierungen, schnellere Datenverarbeitung und verteiltes Computing priorisieren, um moderne Workloads zu unterstützen. Ohne die Möglichkeit, Echtzeitdaten mit großem Volumen zu verarbeiten und zu liefern, riskieren Unternehmen langsamere Erkenntnisse, geringere Modellgenauigkeit und verpasste Wettbewerbsvorteile.
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.
Die Streamverarbeitung spielt eine wichtige Rolle in KI-Anwendungen, die eine Echtzeitreaktion erfordern. Beispielsweise stützen sich KI-Systeme für vorausschauende Wartung, Betrugserkennung, autonome Systeme und personalisierte Empfehlungen oft auf neue Daten mit hoher Geschwindigkeit, um zeitnahe Vorhersagen oder Entscheidungen zu treffen.
Indem KI-Anwendungen Daten so aufnehmen und verarbeiten können, wie sie erstellt werden – sei es durch Sensormesswerte an industriellem Equipment oder durch das Benutzerverhalten auf einer Website – hilft die Streamverarbeitung KI-Systemen dabei, in Echtzeit auf sich ändernde Bedingungen zu reagieren. Diese Fähigkeit verbessert sowohl die Genauigkeit als auch die Relevanz der KI-Outputs. Tatsächlich geben laut IBM Institute for Business Value fast 55 % der befragten Unternehmen an, dass die Verbesserung der Customer Experience durch Echtzeit-KI-Funktionen ein Haupttreiber für Investitionen in der KI-Infrastruktur ist.
Die Streamverarbeitung unterstützt auch die Bereitstellung und Verbesserung von KI-Modellen. Streaming-Pipelines liefern Echtzeitdaten an Data Lakes, Data Warehouses oder Feature Stores und schaffen so eine kontinuierliche Datenquelle für die Modellüberwachung, Bewertung und neues Training im Laufe der Zeit.
Die Streamverarbeitung bietet zahlreiche Vorteile, die Unternehmen dabei helfen, sofort in Echtzeit auf Ereignisse zu reagieren, Ressourcen zu optimieren, verschiedene Datenquellen in Ökosystemen zu integrieren und datengestützte Anwendungen zu unterstützen. Zu den wichtigsten Vorteilen gehören:
Die Streamverarbeitung ermöglicht es Unternehmen, Daten bereits während ihrer Entstehung zu analysieren und so Trends, Anomalien oder Chancen durch Erkennung zu identifizieren. Durch die Reduzierung der Latenz zwischen Datenerzeugung und -analyse können Unternehmen innerhalb von Millisekunden auf Ereignisse reagieren – entscheidend für Cybersicherheit, Betrugserkennung, Überwachung und andere zeitkritische Workloads.
Technologien zur Streamverarbeitung können riesige Datenmengen über verteilte Systeme hinweg verarbeiten und die Kapazität skalieren, wenn sich die Nachfrage ändert. Diese Elastizität ermöglicht Unternehmen die Flexibilität, sich an schwankende Workloads anzupassen, verschiedene Datenquellen zu integrieren und neue Anwendungsfälle zu unterstützen, ohne ihre Infrastruktur grundlegend überarbeiten zu müssen.
Die Streamverarbeitung kann Personalisierungen in Echtzeit über Empfehlungs-Engines und responsive Schnittstellen unterstützen. Diese Funktionen helfen Unternehmen dabei, ansprechendere und relevantere Kundeninteraktionen zu gestalten.
Die kontinuierliche Echtzeitüberwachung von Systemen, Lieferketten und Infrastruktur kann Unternehmen helfen, proaktive Wartung und Prozessoptimierung zu ermöglichen, wodurch Ausfallzeiten reduziert und Kosten gesenkt werden.
Die Streamverarbeitung kann Echtzeitdaten kontinuierlich in Data Lakes, Data Warehouses, Lakehouses und Pipelines einspeisen und unterstützt so Data Engineering, Analysen, maschinelles Lernen und Business Intelligence Workflows.
Technologien zur Streamverarbeitung können Batch-Verarbeitungssysteme ergänzen und Unternehmen bei der Analyse von historischen und Echtzeitdaten unterstützen. Zum Beispiel unterstützt Apache Spark sowohl Batch- als auch Streaming Analytics, während Apache Kafka als Event Streaming-Basis fungiert, die Ereignisdaten für die nachgelagerte Verarbeitung aufbereitet.
Grundsätzlich folgt die Streamverarbeitung einem dreistufigen Modell:
Während der Datenerfassung erfassen Streaming-Konnektoren oder Event-Streaming-Plattformen Echtzeitdaten aus Quellen wie Sensoren, angeschlossenen Geräten, mobilen Anwendungen oder Unternehmenssystemen. Die eingehenden Daten sind oft unbegrenzt und treffen kontinuierlich ein, das heißt, sie werden ohne festes Endgerät generiert und können mit dem Auftreten neuer Ereignisse unbegrenzt anwachsen. Tools wie Kafka Connect und Apache Pulsar sind wichtige Tools für die schnelle Datenaufnahme.
In der Verarbeitungsphase werden Daten transformiert, gefiltert, angereichert oder analysiert, sobald sie ankommen. Diese Phase kann das Aggregieren von Metriken, das Erkennen von Anomalien, das Verbinden mehrerer Streams oder die Anwendung von maschinellem Lernen für Echtzeit-Inferenz beinhalten.
Stream-Prozessoren sind besonders wertvoll in Big Data-Umgebungen, in denen Unternehmen große Mengen sich schnell bewegender Daten aus unterschiedlichen Quellen verwalten und analysieren müssen. Diese Abläufe werden durch Verarbeitungspipelines orchestriert, die die Abfolge von Transformationen und Logik definieren, die beim Datenfluss durch das System angewendet werden.
Der Ausgabe-Stream ist die letzte Phase, in der verarbeitete Daten an nachgelagerte Systeme wie Dashboards zur Überwachung, Datenbanken zur Speicherung oder automatisierte Systeme geliefert werden, die Workflows und Warnungen einleiten. In vielen Fällen werden verarbeitete Daten auch an einen Data Lake zur flexiblen Erkundung oder an ein Data Warehouse für strukturierte Abfragen und Berichterstattungen weitergeleitet.
Zwar bietet die Streamverarbeitung viele Vorteile, sie bringt aber auch Herausforderungen in mehreren Bereichen der Datenverwaltung, Architektur, Integration und des Betriebs mit sich:
Eingaben aus unterschiedlichsten Systemen und Geräten erzeugen enorme Mengen an schnelllebigen Daten, die eine Verarbeitung mit geringer Latenz erfordern. Um dies effektiv zu bewältigen, benötigen Unternehmen Engines zur Streamverarbeitung und Designsysteme, die horizontal skalieren, Workloads über Knoten verteilen und die Leistung bei schwankenden Datenmengen aufrechterhalten.
Unternehmen müssen auch berücksichtigen, wie sich die Streamverarbeitung in ein umfassenderes Datenökosystem einfügt. Diese Integration kann herausfordernd sein, da Datenteams bestimmen müssen, welche Daten in Echtzeit verarbeitet, welche für spätere Analysen gespeichert werden und wie Streaming-Systeme mit bestehenden Anwendung und Pipelines interagieren sollen.
Streaming-Anwendungen interagieren häufig mit anderen Diensten über Anwendungsprogrammierschnittstellen (APIs), ereignisgesteuerte Schnittstellen und Microservices, die für eine Kommunikation mit geringer Latenz und Fehlertoleranz konzipiert sind. Darüber hinaus sollten Entwickler die Komplexität der Algorithmen berücksichtigen, die zur Analyse von Daten in Bewegung verwendet werden, sei es zur Erkennung von Anomalien, zur prädiktiven Modellierung oder zur Entscheidungsfindung in Echtzeit.
Bei der Verarbeitung von Datenströmen müssen Teams Tools und Sprachen wählen, die ihren Anforderungen an Leistung, Skalierbarkeit und Entwicklung entsprechen. Entwickler entscheiden sich häufig für Java und Python, die jeweils unterschiedliche Zwecke innerhalb der Ökosysteme zur Streamverarbeitung erfüllen. Java wird normalerweise zum Aufbau skalierbarer, produktionstauglicher Pipelines in Frameworks wie Apache Kafka und Apache Flink verwendet, während Python für schnelles Prototyping und die Integration von Machine-Learning-Modellen in Streaming-Workflows eingesetzt wird.
Um die Konstanz und Interpretierbarkeit der Daten beim Systemfluss zu gewährleisten, verlassen sich Plattformen zur Streamverarbeitung auf Schemata, die Datenformate, -typen und -strukturen definieren. Diese Schemata helfen dabei, Daten über verteilte Knoten hinweg zu validieren, und unterstützen Echtzeitabfragen. Ohne starke Schema-Governance können Änderungen an Ereignisformaten nachgelagerte Anwendungen, Dashboards oder maschinelle Lernpipelines beeinträchtigen.
Viele Plattformen zur Streamverarbeitung bieten SQL-ähnliche Schnittstellen, mit denen Benutzer Streaming-Daten filtern, aggregieren und verbinden können, ohne komplexen Code zu schreiben. Allerdings kann das Abfragen von Daten in Bewegung eine Herausforderung sein. Unternehmen müssen außerdem Streaming-Systeme mit Batch- und historischen Analyseumgebungen integrieren, um Echtzeit-Erkenntnisse mit historischem Kontext zu kombinieren, was oft die Komplexität erhöht.
Unternehmen aller Branchen setzen auf Anwendungen zur Streamverarbeitung, um Daten sofort nach ihrer Entstehung zu verarbeiten. Nachfolgend finden Sie Beispiele dafür, wie verschiedene Branchen die Streamverarbeitung nutzen, um Effizienz, Patientenergebnisse, Kundenbindung und mehr zu verbessern.
Banken nutzen die Streamverarbeitung, um Transaktionen in Echtzeit zu analysieren und dadurch schnell ungewöhnliche Muster oder Anomalien zu erkennen. Durch die Korrelation mehrerer Datenpunkte wie Standort, Gerät und Transaktionsverlauf können Systeme auf verdächtige Aktivitäten aufmerksam machen, bevor sie eskalieren. Echtzeit-Erkenntnisse ermöglichen es Händlern und Risikomanagern außerdem, sofort auf Volatilität zu reagieren. Durch die Integration von Live-Feeds von Börsen und internen Systemen können Unternehmen schneller fundierte Entscheidungen treffen und Risiken minimieren.
Die Streamverarbeitung beschleunigt die Validierung von Ansprüchen, da Daten aus Versicherungsverträgen, Fotos, IoT-Sensoren und anderen Datenquellen in Echtzeit aufgenommen werden. Automatisierte Workflows genehmigen sofort einfache Anträge sofort und leiten komplexe Fälle zur Überprüfung weiter. Dadurch werden Bearbeitungszeiten verkürzt, die Kundenzufriedenheit erhöht und die Betriebskosten gesenkt.
Krankenhäuser und Gesundheitsdienstleister nutzen die Streamverarbeitung, um Muster zu erkennen, die auf Komplikationen wie Sepsis, Herzinsuffizienz oder Lungenentzündung hinweisen könnten, um proaktiv zeitnahe Interventionen zu ermöglichen und die Patientenergebnisse zu verbessern. So nutzte das Emory University Hospital beispielsweise IBMs Streaming-Analytics-Plattform, um mehr als 100.000 Datenpunkte pro Patient und Sekunde auf der Intensivstation zu verarbeiten und lebensbedrohliche Veränderungen sofort zu erkennen, was schnellere Eingriffe ermöglicht.1
Telekommunikationsanbieter nutzen die Streamverarbeitung, um Netzleistung und Kundeninteraktionen in Echtzeit zu überwachen. Netzbetreiber können Streaming Analytics nutzen, um täglich Milliarden von Verbindungsdatensätzen zu verarbeiten und so Serviceanomalien und betrügerische Aktivitäten sofort zu erkennen. Durch die Analyse von Sprach- und Event Streams während der Anrufe prognostiziert das System auch das Abwanderungsrisiko und leitet Kunden proaktiv an Kundenbindungsspezialisten weiter.
Einzelhändler setzen auf die Streamverarbeitung, um schnellere Erkenntnisse zu gewinnen und die datengesteuerte Entscheidungsfindung zu verbessern. Ein Lebensmittelhändler konnte nahezu in Echtzeit von der täglichen Batchdatenverarbeitung zur Nachrichtenaufnahme wechseln. Bei der Verarbeitung von 50 Millionen Nachrichten pro Tag aus über 2.400 Geschäften ermöglichte eine ereignisgesteuerte Messaging-Architektur die schnelle Erkennung von Problemen wie Diebstahl und eine fundiertere Entscheidungsfindung.
Die Wahl zwischen Streamverarbeitung und Batch-Verarbeitung hängt von der Art der Daten, der Dringlichkeit der Erkenntnisse und der Komplexität der Analyse ab.
Die Streamverarbeitung eignet sich ideal für Workloads, die eine Reaktionsfähigkeit in Echtzeit oder nahezu in Echtzeit erfordern. Beispielsweise ermöglicht die Streamverarbeitung Echtzeit-Datenanalysen, Live-Überwachungen, personalisierte Empfehlungen und dynamisches Bestandsmanagement, da sie riesige Datenmengen kontinuierlich verarbeiten kann, während diese durch Datenpipelines fließen.
Die Batch-Verarbeitung ist hingegen besser geeignet, wenn mit großen Mengen historischer Daten gearbeitet wird oder wenn die Latenz weniger kritisch ist. Sie wird häufig für Aufgaben wie Berichterstattung, Data Warehousing und Langzeit-Trendanalysen verwendet, bei denen Daten aus mehreren Datenquellen in festgelegten Abständen gesammelt, gespeichert und verarbeitet werden.
Batch-Verarbeitung kann einfacher umzusetzen und kostengünstiger für Workloads sein, die keine sofortigen Ergebnisse erfordern. In vielen modernen Architekturen kombinieren Unternehmen beide Ansätze: Sie nutzen die Streamverarbeitung für sofortige Erkenntnisse und die Batch-Verarbeitung für tiefere, rückschauende Analysen. Dieses Hybridmodell maximiert den Wert sowohl von Echtzeit- als auch von historischen Daten.
Organisieren Sie Ihre Daten mit IBM DataOps-Plattformlösungen, um sie vertrauenswürdig und für KI-Anwendungen bereit zu machen.
Erstellen und verwalten Sie intelligente Streaming-Datenpipelines über eine intuitive grafische Benutzeroberfläche, die eine nahtlose Datenintegration in Hybrid- und Multicloud-Umgebungen ermöglicht.
Erschließen Sie den Wert von Unternehmensdaten mit IBM Consulting und bauen Sie ein erkenntnisorientiertes Unternehmen auf, das Ihnen geschäftliche Vorteile verschafft.
1 Emory University Hospital erforscht die „Intensivstation der Zukunft“, Emory University News Center, 5. November 2013