Streaming Data Architecture ist durch ein hohes Volumen kontinuierlich generierter Daten mit hoher Geschwindigkeit (high velocity) gekennzeichnet. Kurz gesagt: Bestimmte Ereignisse erzeugen fortlaufend Daten, die einen Data Stream bilden. Die einfachsten Beispiele für solche Events sind ein IoT-Device-Sensor, der den Druck misst, oder eine Person, die auf einen Link auf einer Website oder in einer mobilen Anwendung klickt. Streaming Data kann unstrukturiert oder semi-strukturiert sein, meist als Key-Value-Paare im JSON- oder XML-Format.
Obwohl Streaming-Technologien nicht neu sind, haben sie sich in den letzten Jahren rasant weiterentwickelt. Für alle, die Klarheit darüber suchen, wie man mit Data Streaming umgeht, gibt es einige Aspekte, die berücksichtigt und bewertet werden sollten: Was bedeutet Streaming Data Architecture? Wie unterscheidet sich Stream Processing von Real-Time Processing? Wie sollte eine Architektur gestaltet sein, um Data Streaming zu bewältigen? Was könnten die Komponenten einer Streaming Data Architecture sein? Welche Vorteile bietet die Anwendung einer Streaming Data Architecture?
Streaming Data ist Teil unserer Data Science Services – erfahren Sie, wie wir Ihr Unternehmen unterstützen können.

Was ist Streaming Data Architecture?
Streaming Data Architecture besteht aus Software-Komponenten, die zusammengebaut und verbunden werden, um Streaming Data aus verschiedenen Quellen zu erfassen (ingest) und zu verarbeiten. Die Daten werden unmittelbar nach ihrer Erfassung verarbeitet. Die Verarbeitung umfasst die Zuweisung zu einem bestimmten Speicher (storage) und kann das Auslösen weiterer Verarbeitungsschritte wie Analytics, weitere Datenmanipulation oder eine Art von Real-Time Processing beinhalten.
Es gibt verschiedene Ansätze zur Datenverarbeitung. Der „klassische“ Ansatz ist Batch Processing, bei dem große Datenmengen auf einmal verarbeitet werden. Hier konzentrieren wir uns jedoch auf den Unterschied zwischen Stream Processing und Real-Time Processing. Die einfachste Erklärung: Real-Time Operations sind Reaktionen auf Daten, während Stream Processing Aktionen auf den Daten selbst beschreibt.
Real-Time-Lösungen garantieren die Ausführung von Daten in kurzer Zeit nach deren Erfassung. Die Reaktion auf die Daten erfolgt nahezu sofort – die Verarbeitung kann Minuten, Sekunden oder sogar Millisekunden dauern, je nach Geschäftsanforderungen und eingesetzter Lösung. Ein Anwendungsbeispiel für Real-Time Operation ist der Kauf/Verkauf an der Börse, wenn ein Kurs unmittelbar nach Auftragserteilung bereitgestellt werden muss.
Im Gegensatz dazu ist das Processing in einer Streaming Data Architecture eine kontinuierliche Berechnung, die stattfindet, während die Daten durch das System fließen. Es gibt keine zwingende zeitliche Begrenzung außer der Leistungsfähigkeit der Komponenten, der eingesetzten Technologie und der geschäftlichen Toleranz gegenüber Latenz. Das bedeutet, es gibt keine feste Deadline für die Ausgabe oder Reaktion des Systems, wenn Daten eintreffen – die Daten werden verarbeitet, sobald sie ankommen. Der Erfolg dieser Architektur hängt von zwei Dingen ab: Langfristig müssen die Output-Raten mindestens den Input-Raten entsprechen, und es muss genügend Speicher vorhanden sein, um die für die Berechnung erforderlichen Eingaben zwischenzuspeichern. Stream Processing ist vorteilhaft, wenn häufige Events verfolgt werden müssen oder wenn Ereignisse sofort erkannt und schnell darauf reagiert werden soll, z.B. bei Cybersecurity oder Fraud Detection.
Das Processing in einer Streaming Data Architecture ist in der Regel eine komplexe Herausforderung. Um diese Technologie optimal zu nutzen, benötigen Sie eine Lösung, die aus mehreren Komponenten besteht. Beim Design der Streaming Data Architecture müssen auch die Eigenschaften der Data Streams berücksichtigt werden: Sie erzeugen oft ein riesiges Datenvolumen und erfordern weitere Vorverarbeitung, Extraktion und Transformation, um nützlicher zu werden.
Was könnten die Komponenten und das Design einer Streaming Data Architecture sein?
Unabhängig von der verwendeten Plattform muss die Streaming Data Architecture folgende Schlüsselkomponenten enthalten:
1. Message Brokers in Streaming Data Architecture
Diese Komponentengruppe nimmt Daten von einer Quelle auf, transformiert sie in ein Standardnachrichtenformat und streamt sie kontinuierlich, sodass andere Tools die von den Brokern weitergeleiteten Nachrichten konsumieren können. Zu den bekannten Stream Processing Tools gehören Open-Source-Software wie Apache Kafka oder PaaS-Komponenten wie Azure Event Hub, Azure IoT Hub, GCP Cloud Pub/Sub oder GCP Confluent Cloud (cloud-native Event Streaming Platform auf Basis von Apache Kafka). Microsoft Azure unterstützt Kafka auch als HDInsight-Cluster-Typ, sodass es als PaaS genutzt werden kann.
Darüber hinaus gibt es weitere Tools wie Solace PubSub+ oder Mulesoft Anypoint, die meist auf Open-Source-Komponenten aufbauen, um eine vollständige Multi-Cloud-Integrationsumgebung zu bieten, die unter anderem Streaming Data unterstützt und den Aufwand für Plattform-Setup und Wartung reduziert.
2. Processing Tools
Die von den Message Brokern oder Stream Processors erzeugten Output Data Streams müssen transformiert und strukturiert werden, um mit Analytics Tools weiter analysiert zu werden. Das Ergebnis solcher Analysen können Aktionen, Alerts, dynamische Dashboards oder sogar neue Data Streams sein. Zu den bekanntesten Open-Source-Frameworks für das Processing von Streaming Data Architecture gehören Apache Storm, Apache Spark Streaming und Apache Flink. Microsoft Azure unterstützt die Bereitstellung von Apache Spark und Apache Storm als HDInsight-Cluster. Zusätzlich bietet Azure die proprietäre Lösung Stream Analytics, eine reine PaaS-Komponente, die als Real-Time Analytics- und Complex Event-Processing-Engine für große Mengen schneller Streaming Data aus mehreren Quellen dient.
Bei GCP sind die wichtigsten Plattformen für gestreamte Datenverarbeitung Dataproc (mit Spark und Flink) sowie die proprietäre Lösung Dataflow.
3. Data Analytics Tools
Sobald die Streaming Data Architecture für den Konsum durch den Stream Processor und das Processing Tool vorbereitet ist, müssen die Daten analysiert werden, um Mehrwert zu schaffen. Es gibt viele Ansätze für Streaming Data Analytics, aber die bekanntesten sind:
- Apache Cassandra ist eine Open-Source-NoSQL-Datenbank, die eine niedrige Latenz für Streaming Events bietet. Kafka Streams können verarbeitet und in einem Cassandra-Cluster gespeichert werden. Es ist auch möglich, eine weitere Kafka-Instanz zu implementieren, die einen Stream von Änderungen aus Cassandra empfängt und diese für Real-Time Decision Making an andere Anwendungen weitergibt.
- Ein weiteres Beispiel ist Elasticsearch, das gestreamte Daten direkt aus Kafka Topics empfangen kann. Mit Avro Data Format und Schema Registry werden Elasticsearch-Mappings automatisch erstellt und schnelle Textsuche oder Analytics in Elasticsearch ermöglicht.
- Azure bietet CosmosDB mit Cassandra API, sodass Apache Cassandra-Funktionen in dieser Cloud verfügbar sind. GCP unterstützt diesen Bereich mit Firebase Realtime Database, Firestore und BigTable.
4. Streaming Data Storage
Die Speicherkosten sind im Allgemeinen relativ niedrig, daher speichern Unternehmen ihre Streaming Data. Ein Data Lake ist die flexibelste und günstigste Option für die Speicherung von Event Data, aber es ist eine Herausforderung, ihn richtig einzurichten und zu warten. Dazu gehören relevante Datenverarbeitung, Datenpartitionierung und das Nachfüllen mit historischen Daten (Backfilling). Am Ende kann die Erstellung eines operativen Data Lake eine Herausforderung sein. Alle Cloud-Anbieter stellen entsprechende Komponenten als Data Lakes bereit: Azure bietet Azure Data Lake Store (ADLS), GCP hat Google Cloud Storage. Alternativ kann die Speicherung auch in einem Data Warehouse oder im Persistent Storage ausgewählter Tools wie Kafka, Databricks/Spark oder BigQuery erfolgen.

Fazit
Die genaue Auswahl der Komponenten hängt vom verfügbaren Stack ab und kann beispielsweise wie in der modernen Streaming Data Architecture auf Basis von Microsoft Azure aussehen.
Zusammengefasst:
Eine moderne Streaming Data Architecture bietet wichtige Vorteile, die bei der Entwicklung spezifischer Lösungen berücksichtigt werden sollten. Bei richtiger Gestaltung entfällt der Bedarf an großem Data Engineering, die Performance ist hoch, sie kann schnell bereitgestellt werden und bietet integrierte Hochverfügbarkeit und Fehlertoleranz. Diese Architektur ist zudem flexibel und unterstützt verschiedene Use Cases bei niedrigen Gesamtbetriebskosten (Total Cost of Ownership).
Um dies zu erreichen, können Unternehmen auf Full-Stack-Lösungen setzen oder entsprechende Architektur-Blueprints entwickeln, um eine schnelle und robuste Bereitstellung von Lösungen zu gewährleisten, die auf die Geschäftsanforderungen zugeschnitten sind.
Das könnte Sie auch interessieren:
openshift-vs-kubernetes gesamtvergleich
ml-als-service fur effektives betreutes lernen nutzen