Was sind Streaming-Daten?

Bei Streaming-Daten handelt es sich um Daten, die in großen Mengen kontinuierlich und inkrementell mit dem Ziel einer Verarbeitung mit geringer Latenz ausgegeben werden. Unternehmen verfügen über Tausende von Datenquellen, die in der Regel gleichzeitig Nachrichten, Datensätze oder Daten mit einer Größe von wenigen Bytes bis zu mehreren Megabytes (MB) aussenden. Streaming-Daten umfassen Standort-, Ereignis- und Sensordaten, die Unternehmen für Echtzeit-Analysen und Einblicke in viele Aspekte ihres Geschäfts nutzen. So können Unternehmen beispielsweise Veränderungen in der öffentlichen Meinung über ihre Marken und Produkte verfolgen, indem sie den Clickstream und die Kundenbeiträge in den sozialen Medien kontinuierlich analysieren und bei Bedarf umgehend reagieren.

Was sind die Merkmale von Streaming-Daten?

Ein Datenstrom hat die folgenden spezifischen Merkmale, die ihn definieren.

Chronologisch bedeutend

Einzelne Elemente in einem Datenstrom enthalten Zeitstempel. Der Datenstrom selbst kann zeitabhängig sein und nach einem bestimmten Zeitintervall an Bedeutung verlieren. Ihre Anwendung gibt zum Beispiel Restaurantempfehlungen auf der Grundlage des aktuellen Standorts des Nutzers. Sie müssen auf die Geolokalisierungsdaten der Benutzer in Echtzeit reagieren, sonst verlieren die Daten an Bedeutung.

Kontinuierlich fließend

Ein Datenstrom hat keinen Anfang und kein Ende. Es sammelt ständig und kontinuierlich Daten, so lange wie nötig. Serveraktivitätsprotokolle zum Beispiel werden so lange gespeichert, wie der Server läuft.

Einzigartig

Die wiederholte Übertragung eines Datenstroms ist aufgrund der Zeitempfindlichkeit eine Herausforderung. Daher ist eine präzise Echtzeit-Datenverarbeitung von entscheidender Bedeutung. Leider gibt es in den meisten Streaming-Datenquellen nur begrenzte Möglichkeiten zur erneuten Übertragung.

Inhomogen

Einige Quellen können Daten in mehreren Formaten übertragen, die in strukturierten Formaten wie JSON, Avro und kommagetrennten Werten (CSV) mit Datentypen wie Zeichenketten, Zahlen, Datumsangaben und binären Typen vorliegen. Ihre Stream-Verarbeitungssysteme sollten in der Lage sein, solche Datenschwankungen zu verarbeiten.

Imperfekt

Vorübergehende Fehler an der Quelle können zu beschädigten oder fehlenden Elementen in den gestreamten Daten führen. Aufgrund der kontinuierlichen Natur des Datenstroms kann es schwierig sein, die Datenkonsistenz zu gewährleisten. Stream-Verarbeitungs- und Analysesysteme enthalten in der Regel eine Logik zur Datenvalidierung, um diese Fehler zu minimieren.

Warum sind Streaming-Daten wichtig?

Herkömmliche Datenverarbeitungssysteme erfassen Daten in einem zentralen Data Warehouse und verarbeiten sie in Gruppen oder Batches. Diese Systeme wurden entwickelt, um Daten zu erfassen und zu strukturieren, bevor sie analysiert werden. In den letzten Jahren haben sich jedoch die Art der Unternehmensdaten und die zugrunde liegenden Datenverarbeitungssysteme erheblich verändert.

Unendliches Datenvolumen

Die aus Stream-Quellen generierten Datenmengen können sehr groß sein, was es für Echtzeit-Analysen zu einer Herausforderung macht, die Integrität (Validierung), Struktur (Entwicklung) oder Geschwindigkeit (Durchsatz und Latenz) der Streaming-Daten zu regulieren.

Fortgeschrittene Datenverarbeitungssysteme

Gleichzeitig hat die Cloud-Infrastruktur die Flexibilität bei der Skalierung und Nutzung von Computerressourcen erhöht. Sie nutzen genau das, was Sie brauchen und zahlen nur für das, was Sie nutzen. Sie haben die Möglichkeit, vor und nach der Speicherung von Streaming-Daten in Echtzeit zu filtern oder zu aggregieren. Die Architektur für Streaming-Daten nutzt Cloud-Technologien, um Streaming-Daten nach Bedarf zu konsumieren, anzureichern, zu analysieren und dauerhaft zu speichern.

Was sind die Anwendungsfälle für Streaming-Daten?

Ein Stream-Verarbeitungsssystem ist in den meisten Szenarien von Vorteil, in denen ständig neue und dynamische Daten erzeugt werden. Das betrifft die meisten Branchensegmente und Anwendungsfälle für Big Data.

Unternehmen beginnen häufig mit einfachen Anwendungen, zum Beispiel zum Sammeln von Systemprotokollen, und einfachen Verarbeitungen, wie gleitende Min-Max-Berechnungen. Diese Anwendungen werden dann mit der Zeit zu komplexen Verarbeitungen weiterentwickelt, die fast in Echtzeit ablaufen.

Hier sind einige weitere Beispiele für das Streaming von Daten.

Datenanalyse

Anwendungen verarbeiten Datenströme, um Berichte zu erstellen und Aktionen auszuführen, wie z. B. die Ausgabe von Alarmen, wenn wichtige Messwerte bestimmte Schwellenwerte überschreiten. Anspruchsvollere Stream-Verarbetungsanwendungen gewinnen tiefere Einblicke, indem sie maschinelle Lernalgorithmen auf Geschäfts- und Kundenaktivitätsdaten anwenden.

IoT-Anwendungen

Internet-of-Things-Geräte (IoT) sind ein weiterer Anwendungsfall für Streaming-Daten. Sensoren in Fahrzeugen, Industrieanlagen und Maschinen für die Landwirtschaft senden Daten an eine Streaming-Anwendung. Die Anwendung überwacht die Leistung, erkennt potenzielle Defekte im Voraus und gibt automatisch eine Ersatzteilbestellung auf, um Ausfallzeiten zu vermeiden.

Finanzielle Analyse

Finanzinstitute nutzen Stream-Daten, um Veränderungen am Aktienmarkt in Echtzeit zu verfolgen, den Wert im Risiko (VAR) zu berechnen und Portfolios auf der Grundlage von Aktienkursbewegungen automatisch neu zu gewichten. Ein weiterer Anwendungsfall aus dem Finanzbereich ist die Betrugserkennung bei Kreditkartentransaktionen durch Echtzeit-Inferencing anhand von Streaming-Transaktionsdaten.

Echtzeitempfehlungen

Immobilienanwendungen verfolgen die Geolokalisierungsdaten von Mobilgeräten der Verbraucher und geben in Echtzeit Empfehlungen zu besuchenswerten Immobilien. In ähnlicher Weise können Werbung, Lebensmittel, Einzelhandel und Verbraucheranwendungen Echtzeitempfehlungen integrieren, um den Kunden einen größeren Nutzen zu bieten.

Service-Garantien

Sie können die Verarbeitung von Datenströmen implementieren, um Service Levels in Anwendungen und Geräten zu verfolgen und zu erhalten. Beispielsweise muss ein Solarunternehmen seinen Kunden immer genug Strom zur Verfügung stellen oder es werden Strafen fällig. Es implementiert eine Streaming-Datenanwendung, die alle Panels im Feld überwacht und den Service in Echtzeit plant. Auf diese Weise können die Zeiten mit geringem Durchsatz und die damit verbundenen Strafzahlungen für jeden Bereich minimiert werden.

Medien und Gaming

Medienverlage streamen Milliarden von Clickstream-Datensätzen von ihren Online-Angeboten, fassen die Daten zusammen und reichern sie mit demografischen Informationen der Nutzer an und optimieren die Platzierung der Inhalte. Dies hilft den Verlagen, ihrem Publikum ein besseres, relevanteres Erlebnis zu bieten. In ähnlicher Weise nutzen Online-Spieleunternehmen die Verarbeitung von Ereignisströmen, um die Interaktionen zwischen Spielern und Spielen zu analysieren und dynamische Erlebnisse anzubieten, die die Spieler ansprechen.

Risikokontrolle

Live-Streaming und soziale Plattformen erfassen Daten zum Nutzerverhalten in Echtzeit, um die finanziellen Aktivitäten der Nutzer zu kontrollieren, z. B. Aufladung, Erstattung und Belohnungen. Sie sehen Dashboards in Echtzeit, um Risikostrategien flexibel anzupassen.

Was ist der Unterschied zwischen Batch-Daten und Streamingdaten?

Die Batch-Verarbeitung ist die Methode, mit der Computer regelmäßig große, sich wiederholende Datenaufträge ausführen. Sie können damit beliebige Abfragen über verschiedene Datensätze berechnen. Es leitet in der Regel Berechnungsergebnisse aus allen Daten ab, die es umfasst, und ermöglicht eine tiefgehende Analyse großer Datensätze. Auf MapReduce basierende Systeme, wie Amazon EMR, sind Beispiele von Plattformen, die Batch-Aufträge unterstützen.

Bei der Stream-Verarbeitung müssen dagegen eine Datensequenz eingespeist sowie die Metriken, Berichte und zusammenfassenden Statistiken für jede eingehende Datenaufzeichnung inkrementell aktualisiert werden. Sie eignet sich besser für die Echtzeitanalyse und für Reaktionsfunktionen.

  Batch-Verarbeitung

Stream-Verarbeitung

Datenumfang

Abfragen oder Verarbeitung über alle oder die meisten Daten im Datensatz.

Abfragen oder Verarbeitung über Daten in einem gleitenden Zeitfenster oder über die neuesten Datenaufzeichnungen.

Datengröße


Große Datenbündel.

Individuelle Mikrobündel aus wenigen Aufzeichnungen.

Leistung

  Latenzen in Minuten zu Stunden.

Erfordert Latenzen im Bereich von Sekunden oder Millisekunden.

Analyse

Komplexe Analysen. Einfache Reaktionsfunktionen, Aggregate und gleitende Metriken.

Viele Unternehmen entwickeln ein hybrides Modell, indem sie die beiden Ansätze vereinen, um eine Echtzeit- und eine Batch-Schicht zu erhalten. So können Sie beispielsweise zunächst Daten in einer Streaming-Datenplattform wie Amazon Kinesis verarbeiten, um Erkenntnisse in Echtzeit zu gewinnen. Anschließend können Sie die Daten in einem Speicher wie Amazon Simple Storage Service (Amazon S3) speichern. Dort kann es für verschiedene Anwendungsfälle der Stapelverarbeitung umgewandelt und geladen werden.

Amazon Redshift Streaming Ingestion ermöglicht es Benutzern, Daten direkt von Amazon Kinesis Data Streams zu übernehmen, ohne sie in Amazon S3 bereitstellen zu müssen. Der Service kann auch Daten von Amazon Managed Streaming for Apache Kafka (Amazon MSK) in Amazon Redshift aufnehmen.

Wie können Sie Streaming-Daten verarbeiten?

Die Architektur der Streaming-Daten enthält zwei Haupttypen von Komponenten.

Stream-Produzenten

Stream-Producer sind Softwarekomponenten in Anwendungen und IoT-Systemen, die Daten sammeln. Sie übermitteln Datensätze an den Stream-Prozessor, die einen Stream-Namen, einen Datenwert und eine Sequenznummer enthalten. Der Prozessor puffert die Datensätze entweder oder gruppiert sie vorübergehend nach Stream-Namen. Es verwendet die Sequenznummer, um die eindeutige Position eines jeden Datensatzes zu verfolgen und die Daten chronologisch zu verarbeiten.

Stream-Verbraucher

Stream-Verbraucher sind Softwarekomponenten, die die im Prozessor gepufferten Datenströme verarbeiten und analysieren. Jeder Verbraucher verfügt über Analytikfunktionen wie Korrelationen, Aggregationen, Filterung, Stichproben oder Machine Learning. Jeder Stream kann mehrere Verbraucher haben, und jeder Verbraucher kann zahlreiche Streams verarbeiten. Verbraucher können die geänderten Daten auch an den Prozessor zurücksenden, um neue Streams für andere Verbraucher zu erstellen.

Architekturimplementierung

Um eine Streaming-Daten-Architektur zu implementieren, benötigen Sie Speicher- und Verarbeitungsschichten. Die Speicherebene muss das Ordnen von Aufzeichnungen unterstützen und äußerst kohärent sein, um schnelle, günstige und wiederholbare Lese- und Schreibvorgänge von großen Datenströmen zu ermöglichen. Auf der Verarbeitungsebene werden die Daten von der Speicherebene verwendet, um Berechnungen mit den Daten durchzuführen. Danach wird die Speicherebene darüber in Kenntnis gesetzt, welche nicht mehr benötigten Daten gelöscht werden sollen.

Was sind die Herausforderungen bei der Arbeit mit Streaming-Daten?

Die Architektur von Streaming-Daten erfordert aufgrund der Art und Menge der Daten besondere Überlegungen.

Verfügbarkeit

Streaming-Datenanwendungen erfordern Konsistenz, niedrige Latenzzeiten und hohe Verfügbarkeit. Die Verbraucher nehmen ständig neue Daten aus dem Datenstrom auf, um sie zu verarbeiten. Verzögerungen durch den Hersteller könnten das System stören und Fehler verursachen.

Skalierbarkeit

Rohdatenströme können schnell und unerwartet anschwellen. Zum Beispiel steigen die Beiträge in den sozialen Medien während eines großen Sportereignisses stark an. Daher sollte das System der richtigen Datenreihenfolge, Verfügbarkeit und Konsistenz Priorität einräumen – selbst bei Spitzenbelastungen.

Zuverlässigkeit

Aufgrund der Zeitsensitivität der Daten muss das Stream-Verarbeitungssystem fehlertolerant sein. Andernfalls sind die Daten bei einem Ausfall oder einer Störung für immer verloren.

Wie kann AWS Ihre Streaming-Datenanforderungen unterstützen?

AWS bietet mehrere Optionen für die Arbeit mit Streaming-Daten. 

Amazon Kinesis

Kinesis ist eine Plattform zum Streaming von Daten auf AWS. Es bietet robuste Services, die das Laden und Analysieren von Streaming-Daten vereinfachen, und ermöglicht Ihnen gleichzeitig die Erstellung benutzerdefinierter Streaming-Datenanwendungen für spezielle Anforderungen.

Kinesis bietet drei Services: Amazon Kinesis Data Firehose, Amazon Kinesis Data Streams und Amazon Managed Streaming für Apache Kafka (Amazon MSK).

Kinesis Data Firehose

Kinesis Data Firehose kann Streaming-Daten erfassen und automatisch in Amazon Simple Storage Service (Amazon S3) und Amazon Redshift laden. So können Sie Echtzeit-Analysen mit den vorhandenen Business-Intelligence-Tools und Dashboards durchführen, die Sie bereits heute verwenden.

Kinesis Data Streams

Kinesis Data Streams kann damit jederzeit mehrere Terabyte (TB) an Daten pro Stunde aus Hunderttausenden von Quellen sammeln und speichern. Es unterstützt ein Stream-Verarbeitungs-Framework Ihrer Wahl, einschließlich Amazon Kinesis Client Library (KCL), Apache Storm und Apache Spark Streaming.

Amazon MSK

Amazon MSK ist ein vollständig verwalteter Service, mit dem Sie ganz leicht Anwendungen erstellen und ausführen können, die Apache Kafka zur Verarbeitung von Streaming-Daten nutzen. Apache Kafka ist eine Open-Source-Plattform für das Erstellen von Echtzeit-Streaming-Datenpipelines und -Anwendungen. 

Amazon Redshift

Amazon Redshift Streaming Ingestion ermöglicht Benutzern die Aufnahme von Streaming-Daten in ihr Data Warehouse für Echtzeitanalysen aus mehreren Kinesis-Datenströmen. Sie können mit vertrauten SQL-Funktionen umfangreiche Analysen durchführen und ELT-Pipelines einfach erstellen und verwalten. Außerdem können Sie große Mengen an Streaming-Daten mit geringer Latenz und hohem Durchsatz verarbeiten, um in Sekundenschnelle Erkenntnisse zu gewinnen.

Andere Streaming-Lösungen auf Amazon EC2

Auf Amazon Elastic Compute Cloud (Amazon EC2) und Amazon EMR können Sie die Streaming-Daten-Plattformen Ihrer Wahl installieren und Ihre benutzerdefinierten Speicher- und Verarbeitungsebenen anlegen. So vermeiden Sie die Reibungsverluste bei der Bereitstellung der Infrastruktur und erhalten Zugang zu verschiedenen Stream-Speicher- und Verarbeitungs-Frameworks. Zu den Optionen für die Daten-Speicherebenen zählen Amazon MSK und Apache Flume. Zu den Optionen für die Streaming-Daten-Verarbeitungsebenen zählen Apache Spark Streaming und Apache Storm.

Machen Sie Ihre ersten Schritte mit Streaming-Daten auf AWS, indem Sie noch heute ein kostenloses AWS-Konto erstellen.

AWS-Streaming-Daten – nächste Schritte

Zusätzliche produktbezogene Ressourcen ansehen
Kostenlose Angebote für Analytics-Services in der Cloud anzeigen 
Ein kostenloses Konto erstellen

Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS. 

Registrieren 
Beginnen Sie mit der Entwicklung in der Konsole

Beginnen Sie mit der Entwicklung in der AWS-Managementkonsole.

Anmeldung