Überspringen zum Hauptinhalt

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 Streaming-Datenarchitektur verwendet 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 Stapelverarbeitung ist die Methode, mit der Computer regelmäßig umfangreiche, 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.

Im Gegensatz dazu erfordert die Stream-Verarbeitung die Aufnahme einer Datensequenz und die schrittweise Aktualisierung von Metriken, Berichten und zusammenfassenden Statistiken als Reaktion auf jeden eingehenden Datensatz. 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 bis 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. Beispielsweise können Sie zunächst Daten auf einer Streaming-Datenplattform wie Amazon Kinesis verarbeiten, um Erkenntnisse in Echtzeit zu gewinnen. Anschließend können Sie es in einem Geschäft wie Amazon Simple Storage Service (Amazon S3) speichern. Dort kann es für verschiedene Anwendungsfälle der Stapelverarbeitung umgewandelt und geladen werden.

Mit Amazon Redshift Streaming Ingestion können Benutzer Daten direkt aus Amazon Kinesis Data Streams aufnehmen, 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 für das Streamen 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 Dienste an: Amazon Data Firehose, Amazon Kinesis Data Streams und Amazon Managed Streaming for Apache Kafka (Amazon MSK).

Amazon Data Firehose

Amazon 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 kontinuierlich Terabyte (TB) an Daten pro Stunde aus Hunderttausenden von Quellen erfassen 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, der es Ihnen leicht macht, Anwendungen mit Apache Kafka zur Verarbeitung von Streaming-Daten zu erstellen und auszuführen. 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 das Ingestieren 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

Sie können Streaming-Datenplattformen Ihrer Wahl auf Amazon Elastic Compute Cloud (Amazon EC2) und Amazon EMR installieren und Ihre benutzerdefinierten Stream-Speicher- und Verarbeitungsebenen erstellen. 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 Datenspeicherebene gehören Amazon MSK und Apache Flume. Zu den Optionen für die Stream-Verarbeitungsebene gehören Apache Spark Streaming und Apache Storm.

Beginnen Sie mit dem Streamen von Daten auf AWS, indem Sie noch heute ein kostenloses AWS-Konto erstellen!