In dieser dreiteiligen Artikelserie betrachten wir anhand einer konkreten Beispielanwendung den Aufbau einer Architektur zur Analyse von Echtzeitdaten mit AWS. Wir diskutieren, wie durch das Zusammenspiel verschiedener Dienste Aspekte der Echtzeitanalyse und der langfristigen Analyse von Daten flexibel kombiniert werden können.
Der Autor: Steffen Hausmann ist Specialist Solutions Architect Analytics bei AWS
(Bild: AWS)
Die Rahmenbedingungen der Beispielanwendung, die wir betrachten, sind relativ einfach: Wir betreiben ein Taxiunternehmen in New York City und haben unsere Flotte mit moderner Technik ausgestattet. So werden für jede Fahrt die Geo-Koordinaten von Start- und Endpunkt, die benötigte Zeit, die Anzahl der Fahrgäste und der bezahlte Preis an das Backend übermittelt.
Diese Daten möchten wir auf zwei verschiedene Arten nutzen: Zum einem sollen die Daten, insbesondere der Umsatz, kontinuierlich auf Unregelmäßigkeiten analysiert werden, um schnell darauf reagieren zu können. Zum anderen möchten wir aber auch langfristige Analysen von historischen Daten durchführen, um bessere Vorhersagen über die Passagierzahlen und die Umsatzentwicklung machen zu können.
Architektur zur schnellen und langfristigen Analyse von Echtzeitdaten
Um diesen Anforderungen gerecht zu werden, bietet sich eine Zweiteilung der Architektur an. Einen Teil, der die Echtzeitanalyse der Daten abdeckt und einen zweiten Teil, der die Daten archiviert, um eine Analyse aller bisher angefallenen historischen Daten mittels SQL zu ermöglichen. In einem ersten Schritt werden die Daten temporär in einem Datenstrom zwischengespeichert. Für die Echtzeitanalyse werden die Daten aus dem Zwischenspeicher analysiert und die Ergebnisse dieser Analyse werden in einem Dashboard grafisch dargestellt. Zugleich werden die Rohdaten aus dem Zwischenspeicher aber auch archiviert, um sie für langfristige Trendanalysen verwenden zu können.
Zweiteilung der Architektur
(Bild: AWS)
Durch die zweigeteilte Architektur sind die Abläufe der Datenproduktion und Datennutzung voneinander getrennt. Datenproduzierende und konsumierende Systeme können unabhängig voneinander betrieben, verändert und skaliert werden. Außerdem können die Daten auch gleichzeitig und unabhängig für Analysen von verschiedenen Systemen genutzt werden. Somit gibt die Architektur viel Spielraum, um zukünftige Anforderungen und Anwendungsfälle elegant in die bestehende Architektur zu integrieren, ohne dass die bestehenden Konsumenten oder Produzenten angepasst werden müssen.
Im Folgenden werden wir anhand des Beispielszenarios diskutieren, wie sich die Architektur mithilfe von AWS-Diensten umsetzen lässt. Dabei liegt ein besonderes Augenmerk auf der Verwendung von vollständig verwalteten Diensten, sodass wir uns auf die Analyse der Daten und das Lösen der Geschäftsprobleme konzentrieren können, ohne uns auf die Beschaffung, den Betrieb und die Skalierung der Infrastruktur kümmern zu müssen.
Um das Beispielszenario in Ihrem eigenen AWS Account nachzustellen, führen Sie dieses CloudFormation template aus. AWS CloudFormation erstellt dann automatisch die benötigten Ressourcen in Ihrem Account. Da für die Verwendung dieser Ressourcen Kosten anfallen, denken Sie bitte daran nach dem Test das CloudFormation Template wieder zu löschen, um die erstellten Ressourcen wieder zu entfernen.
Nachdem Sie dem Link zum Ausführen des CloudFormation Templates gefolgt sind, übernehmen Sie in dem folgenden Assistenten die voreingestellte Konfiguration durch dreimaliges Drücken auf Next. Auf der letzten Seite wählen Sie durch das Setzen jeweils eines Häkchens beide Optionen unter Capabilities aus, um zu bestätigen, dass CloudFormation IAM-Ressourcen erstellen und geschachtelte CloudFormation Templates ausführen darf. Beenden Sie den Dialog mit Create. Nach fünf bis zehn Minuten finden Sie alle benötigten Ressourcen automatisch in Ihrem AWS Account.
Zwischenspeichern der Daten in einem Datenstrom
Zunächst müssen die Echtzeitdaten aufgenommen und zwischengespeichert werden. Für diese Grundlage eignet sich Amazon Kinesis Data Streams. Damit können Sie kontinuierlich Gigabytes von Daten pro Sekunde aus Hunderttausenden von Quellen wie Website-Clickstreams, Datenbank-Event-Streams, Finanztransaktionen, Social Media Feeds, IT-Logs und Location-Tracking-Events erfassen. Die gesammelten Daten stehen in Sekunden zur Verfügung, um Echtzeit-Analyseanwendungen wie Echtzeit-Dashboards, Echtzeit-Anomalie-Erkennung, dynamische Preisgestaltung und mehr auszuführen.
Im Rahmen der Beispielanwendung werden die Taxifahrten simuliert, indem ein historischer Datensatz von Taxifahrten in New York City in den Datenstrom abgespielt wird. Dazu werden die Daten von einer Amazon-EC2-Instanz gelesen und in den Datenstrom geschrieben. Dabei werden in einer Minute die historischen Daten eines ganzen Tages abgespielt, was zu einer Datenrate von etwa 8.000 Ereignissen pro Sekunde führt. In der Praxis macht es dabei keinen Unterschied, ob, wie in diesem Fall, eine einzelne Java-Anwendung 8.000 Events pro Sekunde generiert oder ob 8.000 Taxis jeweils ein Event pro Sekunde erzeugen.
Echtzeitanalyse der Daten mittels SQL
Die eigentliche Datenanalyse erfolgt über SQL-Anfragen mit Amazon Kinesis Data Analytics. Streaming-Daten können damit in Echtzeit mit Standard-SQL analysiert werden, ohne mit anderen Programmiersprachen oder Verarbeitungs-Frameworks vertraut zu sein. Kinesis Data Analytics führt dabei die Schritte, die zur kontinuierlichen Analyse der Daten notwendig sind, automatisch aus und passt sich dynamisch an den Umfang und den Durchsatz der eingehenden Daten an.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Wie häufig bei Sensordaten, sind die Rohdaten der Taxis nicht störungsfrei und müssen zunächst bereinigt werden. Manche der von den Taxis generierten Ereignisse enthalten beispielsweise die unsinnigen Längen- und Breitengrade von 0, was einer Position westlich von Afrika im Meer entspricht. Um Ereignisse mit diesen offensichtlich fehlerhaften Daten aus dem Datenstrom zu entfernen verwenden wir folgende Anfrage.
Der WHERE Teil der Anfrage stellt sicher, dass nur Ereignisse in den (internen) Datenstrom cleaned_trips geschrieben werden, die von 0 unterschiedlich sind.
(Bild: AWS)
Eine Besonderheit der Echtzeitverarbeitung von Daten ist, dass sie kontinuierlich stattfinden soll. Im Gegensatz zu SQL-Anfragen in relationalen Datenbanken reicht es nicht aus, eine Anfrage einmalig auszuwerten, da kontinuierlich neue Daten in dem Datenstrom abgelegt werden. Um Anfragen kontinuierlich auszuwerten wird hier das Konstrukt CREATE OR REPLACE PUMP verwendet, um die Ergebnisse der Anfrage kontinuierlich in den internen Datenstrom „cleaned_trips“ zu schreiben.
Nachdem durch die Vorverarbeitung der Daten eine ausreichende Datenqualität sichergestellt ist, werden in einem nächsten Schritt Daten miteinander verglichen, um Ausreißer zu identifizieren. Darum geht es im nächsten Teil, in der kommenden Ausgabe.