Kommentar von Holger Temme, Confluent Stream Processing und Daten-Streaming – die nächste Stufe für Echtzeitanwendungen

Von Holger Temme 4 min Lesedauer

Anbieter zum Thema

Die Verarbeitung von Datenströmen (Stream Processing) ist eine entscheidende Komponente, um den Wert von Echtzeitdaten zu maximieren. Daten-Streaming ermöglicht zwar die kontinuierliche Übertragung von Informationen, reicht aber allein nicht aus, um das Potenzial von Echtzeitdaten voll auszuschöpfen. Hier kommt Stream Processing ins Spiel, eine Schlüsseltechnologie, die Daten-Streaming auf eine ganz neue Ebene hebt.

Der Autor: Holger Temme ist Director of Solutions Engineering bei Confluent (Bild:  Confluent)
Der Autor: Holger Temme ist Director of Solutions Engineering bei Confluent
(Bild: Confluent)

Man stelle sich vor, dass Daten nahezu mit Lichtgeschwindigkeit verarbeitet werden, sobald sie ankommen. Genau das macht Stream Processing möglich. Die Technologie stellt einen Wendepunkt dar, da sie die Speicher- und Rechenkosten senkt und die Kunden- bzw. Nutzererfahrung verbessert. Unternehmen können sich einen Wettbewerbsvorteil verschaffen, indem sie ihre Architektur auf eine schnelle Verarbeitung ausrichten. Das gilt insbesondere für Anwendungsfälle, in denen die Reaktionsfähigkeit gesteigert werden soll.

Beim Stream Processing werden Daten unmittelbar nach ihrem Eintreffen verarbeitet. Im Gegensatz zum traditionellen Ansatz einer initialen Datenerfassung und anschließender Batch-Verarbeitung kann mit Stream Processing der Wert der Daten unmittelbar nach ihrem Eintreffen genutzt werden.

Im Vergleich dazu können Systeme, die auf der Batch-Verarbeitung von Daten basieren, Informationen nur über Unterbrechungen in vorgegebenen Intervallen liefern, die Minuten, Stunden oder sogar Tage auseinander liegen können. Das führt zu einem weniger agilen und reaktionsarmen Ansatz. Daher ist die Integration der Stream-Verarbeitung in Daten-Streaming-Pipelines für Unternehmen, die Echtzeitdaten effektiv nutzen wollen, von größter Bedeutung.

Die Entscheidung für Daten-Streaming ohne die Vorteile von Stream Processing führt zu höheren Latenzzeiten und Kosten und wirft die Frage auf: Warum sollten Daten in Echtzeit erfasst werden, wenn sie nicht auch in Echtzeit verarbeitet und transformiert werden können?

Auch wenn nicht alle Anwendungsfälle die Verarbeitung von Streaming-Daten erfordern, ist für viele kritische Anwendungen wie Betrugserkennung, Cybersicherheit und Standortverfolgung eine Echtzeitverarbeitung für einen effizienten Betrieb maßgeblich. Ohne Echtzeitverarbeitung müssen Streaming-Daten in herkömmlichen Dateisystemen oder Cloud Data Warehouses gespeichert werden, bis sie von einer Anwendung oder einem Dienst angefordert werden. Das bedeutet, dass Abfragen jedes Mal neu ausgeführt werden müssen, wenn die Daten für nachgelagerte Systeme und Anwendungen aufbereitet werden sollen.

Stream Processing in der realen Welt

Sobald Stream Processing Pipelines eingerichtet sind, können sie mit verschiedenen Datenquellen verbunden werden und das von lokalen Datenbanken bis hin zu Cloud Data Warehouses und Data Lakes. Auf diese Weise können Unternehmen Stream Processing auf ihr bestehendes Datenökosystem anwenden oder eine direkte Verbindung zu Live-Anwendungen herstellen.

Ein Beispiel für die Vorteile von Stream Processing findet sich im Bereich des E-Commerce. Stream Processing ermöglicht einer E-Commerce-Plattform, nachgelagerte Systeme sofort mit neuen Informationen zu aktualisieren und so sicherzustellen, dass wichtige Datenpunkte wie Produktpreise und Lagerbestände rechtzeitig übermittelt werden. Wenn diese Daten im Batch verarbeitet werden, führt zu einer erheblichen Verzögerung zwischen den tatsächlichen Informationen und denjenigen, welche dem Kunden zur Verfügung gestellten. Die Darstellung im Warenkorb des Kunden entspricht somit beispielsweise dem tatsächlich verfügbaren Warenbestand im Lager. Mit Stream Processing erreichen die Betreiber also eine höhere Kundenzufriedenheit.

Weiterhin zeigen sich die Vorteile von Stream Processing in Anwendungen wie TV-Streaming, wo Daten über das Nutzerverhalten die Kategorisierung von Inhalten und die Qualitätsüberwachung in Echtzeit ermöglichen.

Stream Processing bietet eine effizientere Alternative, da die Daten nur einmal verarbeitet werden müssen, wodurch die Speicher- und Rechenkosten erheblich gesenkt werden können, insbesondere wenn die Anwendungsfälle für Streaming-Daten mit der Zeit zunehmen.

Gängige Stream-Processing-Technologien

Für CTOs und CIOs ist die Wahl der richtigen Stream-Processing-Technologie von strategischer Bedeutung. In den letzten zehn Jahren haben einige Open-Source-Technologien die Welt der Datenstromverarbeitung geprägt. Dazu gehört Apache Flink, ein Framework für die Verarbeitung und interaktive Analyse großer Datenströme. Weiterhin Kafka Streams, eine auf Microservices basierende Client-seitige Bibliothek, die es Entwicklern ermöglicht, Stream-Processing-Anwendungen und skalierbare Pipelines mit hohem Durchsatz zu erstellen. Und schließlich Apache Spark, eine verteilte Engine für Big-Data-Analysen mit Micro-Batches.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Big Data, Analytics & AI

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Einstieg in Stream Processing mit der richtigen Technologie

Bei der Auswahl von Stream-Processing-Technologien verlassen sich Unternehmen häufig auf die vorhandenen Fähigkeiten ihrer Entwicklungs- und Betriebsteams. Dieser Ansatz kann zwar kurzfristig Innovationen beschleunigen, ist aber nicht immer die strategisch beste Entscheidung und kann das Potenzial von Stream-Processing-Anwendungsfällen einschränken.

Um mit Stream Processing zu beginnen, ist ein zielgerichteter Ansatz erforderlich. Anstatt viele Technologien gleichzeitig zu evaluieren, empfiehlt es sich, die Optionen auf zwei zu beschränken, die den spezifischen Anforderungen entsprechen, und für jede ein Proof of Concept zu erstellen. Tutorials und praktische Übungen, die auf bestimmte Anwendungsfälle zugeschnitten sind, wie z. B. die Erfassung und Verarbeitung von Daten aus IoT-Geräten, können einen guten Ausgangspunkt bieten.

Die Entwicklung von Streaming-Anwendungen und -Diensten kann anspruchsvoll sein, da sie einen anderen Ansatz als die traditionelle synchrone Programmierung erfordern. Es ist nicht nur erforderlich, die Technologie zu beherrschen, sondern auch zu wissen, wie man auf Events und Datenströme reagiert, anstatt Bedingungen und Operationen auf Daten im Ruhezustand anzuwenden.

Auch wenn sich die gewählte Technologie im Laufe der Zeit weiterentwickeln kann, bleiben die erworbenen Fähigkeiten zur Problemlösung und Datenstromverarbeitung für Unternehmen wertvoll.

Artikelfiles und Artikellinks

(ID:49825889)