Datenströme und Verarbeitung in Echtzeit sind auf dem Weg zum Nonplusultra zu werden – denn sie werden die Norm sein, nicht die Ausnahme, so das Analystenhaus IDC. Die Treiber dafür sind mittlerweile bekannt: Cloud, IoT und 5G haben die Menge an Daten, die Organisationen erzeugen und die damit durch sie fließen, erhöht.
Ein Beitrag von John DesJardins, Chief Solutions Officer bei Hazelcast
Auch ist das generelle Tempo im Geschäftsleben sehr beschleunigt worden: Unternehmen führen kontinuierlich neue Dienste ein und stellen Software schneller als je zuvor bereit. Infolgedessen stiegen die Ausgaben für Datenanalysen – im Jahresvergleich in allen Sektoren um etwa ein Drittel – denn immer mehr Betriebsverantwortliche versuchen, diese Daten zu verstehen und wichtige Informationen aus ihnen zu gewinnen.
Sie wollen effektive Entscheidungen in Echtzeit als Reaktion auf sich ändernde Ereignisse und Marktbedingungen treffen. Diese Entwicklung wurde durch große und kleine technologische Umwälzungen beschleunigt, die die neue Normalität in puncto intelligentere Anwendungen und Erfahrungen vorantreibt.
Wir erleben daher eine Renaissance der Streaming-Technologien: von der Verwaltung des Datenflusses über verteiltes Messaging bis hin zur Stream-Verarbeitung und vielem mehr.
Mike Gualtieri von Forrester beschreibt die Situation: „Sie können Streaming-Daten-Plattformen nutzen, um ein schnelleres digitales Unternehmen zu schaffen... aber um diese Vorteile zu realisieren, müssen Sie zunächst aus einer Vielzahl von Anbietern auswählen, die sich nach Größe, Funktionalität, geografischer Lage und vertikalem Marktfokus unterscheiden."
Daniel Howard von Bloor geht näher darauf ein, was nötig ist, um das volle Potenzial zu entfalten, das sich in puncto Analytik bieten. „Streaming-Daten … sind Daten, die kontinuierlich aus der einen oder anderen Quelle generiert werden und daher für eine tatsächliche Nutzung verarbeitet werden müssen. Lösungen für Streaming-Analyse nehmen Streaming-Daten und extrahieren verwertbare Erkenntnisse daraus – und möglicherweise auch aus Nicht-Streaming-Daten. Dies geschieht normalerweise sobald sie in Ihr System gelangen.“
Laut Gartner hat dies eine enorme Anziehungskraft. Gartner erwartet, dass die Hälfte der wesentlichen neuen Geschäftssysteme über eine Form von kontinuierlicher Intelligenz auf der Grundlage kontextbezogener Echtzeitdaten verfügen wird, um die Entscheidungsfindung zu verbessern. Der entscheidende Begriff in der Arbeit von Howard und Gartner ist „kontinuierliche Verarbeitung“, da diese Auswirkungen auf die Echtzeitanalyse hat.
Echtzeit? Fast…
Unternehmen, die in Echtzeit arbeiten, benötigen Analysen, die innerhalb von Sekunden oder Millisekunden Erkenntnisse auf Grundlage der neuesten Daten liefern – egal ob es sich um Rückmeldungen von Maschinen oder Klicks von Kunden handelt.
Um effektiv zu sein, müssen diese Analysen verwertbare Informationen bieten. Beispielsweise sollte ein Online-Warenkorb in der Lage sein, einem Käufer am Point of Engagement auf Grundlage früherer Einkäufe Empfehlungen zu geben oder betrügerische Aktivitäten zu erkennen. Das bedeutet, dass Streaming-Daten mit historischen Daten angereichert werden, die typischerweise in Legacy-Speichern, wie relationalen Datenbanken oder Mainframes, gespeichert sind.
Es handelt sich um einen Prozess der Erfassung, Anreicherung und Analyse, der kontinuierlich sein sollte. Kappa – Schlüssel-Architektur für Streaming – bietet jedoch nicht die notwendige Kontinuität bei diesem Prozess, was ein Problem für Echtzeitanalysen darstellt.
Kappa verarbeitet Daten, die über Messaging-Storage-Systeme wie Apache Kafka eingespeist werden. Sie werden von einer Streaming-Engine verarbeitet, die eine Datenextraktion vornimmt und Referenzdaten hinzufügt. Diese Daten werden dann häufig in einer Datenbank gespeichert und können von Nutzern, Anwendungen oder Machine-Learning-Modellen in der KI abgefragt werden. Dies wirft jedoch drei Probleme bei der kontinuierlichen Verarbeitung auf.
Erstens wird Kappa mit einem relationalen oder In-Memory-Datenmodell im Kern implementiert. Streaming-Daten – Ereignisse wie Web-Klicks und Maschinenkommunikation – werden erfasst und zur Analyse in Stapeln geschrieben. Die Verknüpfung der Daten erfolgt entsprechend und Informationen werden zusammengefasst abgeleitet.
Aber Batch ist nicht Echtzeit – es ist nur nahezu Echtzeit und dient der Analyse von Momentaufnahmen, nicht des Augenblicks. Dies widerspricht dem Konzept der Kontinuität, wie es von Howard und Gartner beschrieben wird.
Die reine Leistung führt weiter weg von der Kontinuität: Herkömmliche Datenplattformen werden Laufwerk für Laufwerk formatiert, wobei die Daten auf die Festplatte geschrieben und von ihr ausgelesen werden. Dieser Prozess –– insbesondere in seiner seriellen Ausführung und der Natur von traditionellen Datenspeichern - ist zu langsam.
Und schließlich ist da noch der manuelle Aufwand für die Anreicherung und Analyse von Daten. Wie McKinsey in seinem Bericht "Data Driven Enterprise of 2025” feststellt: "Dateningenieure verbringen oft viel Zeit damit, Datensätze manuell zu untersuchen, Beziehungen zwischen ihnen herzustellen und sie miteinander zu verknüpfen. Außerdem müssen sie häufig Daten aus ihrem natürlichen, unstrukturierten Zustand in eine strukturierte Form bringen. Dies geschieht durch manuelle und maßgeschneiderte Prozesse, die zeitaufwändig, nicht skalierbar und fehleranfällig sind."
Schluss mit Stapelverarbeitung in Echtzeit
Echtzeit-Analysen sind das Ergebnis kontinuierlicher und fortlaufender Prozesse zur Aufnahme, Anreicherung und Abfrage von Daten. Um diesen Prozess voranzutreiben, ist eine Rechen- und Speicherarchitektur erforderlich, die eine Leistung im Bereich von weniger als einer Millisekunde liefern kann – jedoch ohne versteckte Kosten oder die Schaffung eines Code-Wirrwarrs.
Hier kommen die fortschrittlichsten Stream-Processing-Engines mit integriertem schnellem Speicher ins Spiel. Bei diesem Ansatz wird die Stop-Go-Verarbeitung gegen einen kontinuierlichen Datenfluss ersetzt. Dies hat den zusätzlichen Vorteil eines Berechnungsmodells, das Analysen im richtigen Moment durchführen kann.
Solche Engines kombinieren Speicherung, Datenverarbeitung und eine Abfrage-Engine. Die Daten werden in den Speicher geladen, bereinigt, mit historischen Daten verknüpft und kontinuierlich aggregiert – Stapelverarbeitung kann das nicht leisten. Zweitens wird der Arbeitsspeicher von Servergruppen gemeinsam mit schnellem SSD- (oder NVMe-) Speicher genutzt.
So können Daten, die in den gemeinsamen Datenpool eingespeist werden, dort kontinuierlich verarbeitet und gespeichert werden. Die Verarbeitung erfolgt parallel, um Antworten im Bereich weniger als einer Millisekunde zu ermöglichen, wobei Millionen komplexer Transaktionen pro Sekunde durchgeführt werden.
Technologie ist dabei nicht alles. Diese muss von Menschen bedient werden. Deshalb gilt es die Mitarbeiter entsprechend zu unterstützen. Sie benötigen unter anderem eine Sprache zum Schreiben anspruchsvoller Abfragen. Es steht also außer Frage, dass die Plattform Streaming SQL unterstützen muss.
SQL ist eine weit verbreitete und bekannte Sprache für Datenabfragen. Die Einführung von Streaming-SQL öffnet die Tür für Entwickler, die keine Sprache wie Java lernen möchten. Diese Sprache unterstreicht die Idee der Kontinuität: Die Ergebnisse der so geschriebenen Abfragen werden nach Bedarf zurückgegeben – nicht erst nach einer Stapelverarbeitung. Mit Streaming SQL können Teams verschiedene Datenquellen mit Stream-Geschwindigkeit filtern, zusammenführen und abfragen - und nicht erst im Nachhinein.
Fazit
Wir erleben eine Renaissance der Streaming-Technologie und haben mehr Möglichkeiten denn je in puncto Dateninfrastrukturen. Da jedoch immer mehr Unternehmen ihre Abläufe in Echtzeit durchführen, ist es von entscheidender Bedeutung, dass die Analysen, auf die sie sich verlassen werden, die gewünschten Erkenntnisse genau in dem Moment liefern können, in dem sie benötigt werden. Das wiederum bedeutet Streaming, das auf einer kontinuierlichen Verarbeitung und nicht auf Batch-Blöcken basiert.