Nutzen Sie leistungsstarkes Daten-Streaming mit Amazon Kinesis

Täglich generieren wir 2,5 Quintillionen Bytes an Daten. Allerdings wird aufgrund mangelnder Rechenleistung nur 1 % dieser Daten zu aussagekräftigen Informationen verarbeitet. Der Großteil davon wird als Streaming-Daten aus einer Vielzahl von Quellen generiert, wie z. B. Social-Media-Feeds, IT-Protokollen, IoT-Telemetriedaten, Online-Gaming, Finanztransaktionen usw.
Streaming-Daten werden kontinuierlich aus verschiedenen Quellen generiert. Die Stream-Verarbeitungstechnologie wird eingesetzt, um Streaming-Daten in Echtzeit zu verarbeiten. Es ist jedoch kostspielig, eine große Rechenkapazität und Speichereinrichtung für die Verarbeitung und Speicherung von Streaming-Daten einzurichten.
Um dieses Problem zu lösen, bietet Amazon Web Services Amazon Kinesis als vielseitigen Dienst und Lösung für die Herausforderungen bei der Handhabung und Verarbeitung von Streaming-Daten an.
Was ist Amazon Kinesis?
Amazon Kinesis ist ein vollständig verwalteter, skalierbarer Dienst, der Streaming-Daten in Echtzeit aufnehmen, puffern und verarbeiten kann.
Zu den Amazon Kinesis Services gehören Kinesis Data Stream, Kinesis Firehose, Kinesis Video Stream und Kinesis Data Analytics.
1. Amazon Kinesis Data Streams
Kinesis Data Streams ist ein Echtzeit-Streaming-Dienst, der Gigabytes an Daten aus Hunderten und Tausenden von Datenquellen erfasst. Datenströme sind in einen oder mehrere Shards unterteilt, wobei jeder Shard eine feste Kapazitätseinheit bereitstellt. Ein Shard ist die Basiseinheit für den Durchsatz von Amazon Kinesis Data Streams.
Um einen Stream zu erstellen, muss die Anzahl der Shards vordefiniert werden. Jeder Shard kann bis zu 5 Transaktionen pro Sekunde für Lesevorgänge unterstützen, bis zu einer maximalen Gesamtdatenleserate von 2 MB pro Sekunde. Und bis zu 1.000 Datensätze pro Sekunde für Schreibvorgänge, bis zu einer maximalen Gesamtdatenschreibrate von 1 MB pro Sekunde.
Die Gesamtkapazität des Streams ist die Summe der Kapazitäten seiner Shards. Eine Erhöhung der Anzahl der Shards führt zu einer höheren Verarbeitungsgeschwindigkeit und Kapazität des Datenstroms. Kinesis Data Streams kann nicht in Echtzeit skaliert werden, wenn der Datendurchsatz die Shard-Kapazität übersteigt.
Kinesis Data Streams – High-Level-Architektur:

Vorteile:
- Echtzeit-Performance: Streaming-Daten stehen mehreren Echtzeit-Analyseanwendungen, Amazon S3 und AWS Lambda innerhalb von 70 Millisekunden nach der Datenerfassung zur Verfügung.
- Datenaufbewahrung: Daten können sieben Tage lang aufbewahrt werden, standardmäßig sind es 24 Stunden.
- Sicher: Daten können im Ruhezustand durch serverseitige Verschlüsselung, AWS KMS Master Keys und durch den privaten Zugriff auf Ihre Daten über Amazon Virtual Private Cloud (VPC) gesichert werden.
- Geringe Kosten: Kinesis Data Streams hat keine Vorabkosten, und Sie zahlen nur für die Ressourcen, die Sie nutzen.
2. Amazon Data Firehose
Amazon Data Firehose ist ein nahezu echtzeitfähiger Dienst, der sich um fast alles kümmert, was zum Erfassen, Transformieren und Speichern von Daten erforderlich ist. Es handelt sich um einen vollständig verwalteten Dienst, der automatisch skaliert, um eine Erhöhung oder Verringerung des Datendurchsatzes ohne administrativen Aufwand zu ermöglichen.
Firehose hat eine minimale Latenz von 60 Sekunden. Es kann die Daten vor dem Laden transformieren und komprimieren. Die unterstützten komprimierten Formate sind GZIP, ZIP und Snappy, wenn das Ziel S3 ist.
Amazon Data Firehose ermöglicht die mühelose Aufnahme von Daten in Data Lakes wie S3, Amazon ElasticSearch, Amazon Redshift und Splunk.
Es ermöglicht die Konvertierung von Datenformaten vor der Aufnahme in einen der Speicherdienste, üblicherweise von JSON nach Parquet oder ORC, und das nur für die Speicherung in S3. Es konvertiert CSV nicht direkt in Parquet oder andere Formate; eine AWS Lambda-Funktion kann ausgelöst werden, um CSV in JSON zu konvertieren.
Amazon Data Firehose: High-Level-Architektur:

Vorteile:
- Einfache Bedienung: Mit nur wenigen Klicks lässt sich Amazon Data Firehose über die AWS Management Console einrichten.
- Zahlen Sie nur für das, was Sie nutzen: Es fallen nur Kosten für die Menge der gestreamten Daten an. Es ist im Vergleich zu Kinesis Data Stream deutlich günstiger und bietet eine Ersparnis von über 60 %.
- Keine laufende Administration: Es stellt automatisch die Rechenkapazität, den Speicher und die Netzwerkressourcen bereit und skaliert diese, die zum Laden der Streaming-Daten erforderlich sind.
- Serverlose Datentransformation: Verarbeiten, transformieren und komprimieren Sie Daten, bevor Sie sie in Datenspeicher herunterladen.
3. Amazon Kinesis Data Analytics
Amazon Kinesis Data Analytics ist ein Dienst für ETL, der SQL-Abfragen auf Streaming-Daten verwendet. Er analysiert und liefert Erkenntnisse in Echtzeit. Kinesis Data Analytics implementiert Amazons hochmodernen Random Cut Forest zur Anomalieerkennung. Ein weiteres Machine-Learning-Tool, Hotspots, lokalisiert und liefert Informationen über relativ dichte Regionen in den Daten.
Die Architektur von Amazon Kinesis Data Analytics:

Vorteile:
- Echtzeit-Analysen und ML: Leistungsstarke Echtzeit-Analysen für ETL und integrierte Echtzeit-Anomalieerkennung mittels ML.
- Keine Server zu verwalten: Es führt Ihre Streaming-Anwendungen aus, ohne dass Sie Infrastruktur bereitstellen oder verwalten müssen.
- Zahlen Sie nur für das, was Sie nutzen: zahlen Sie nur für die Verarbeitungsressourcen, die Ihre Streaming-Anwendungen nutzen.
4. Amazon Kinesis Video Streams
Amazon Kinesis Video Streaming ist ein leistungsstarker und effizienter Streaming-Dienst für Videos mit sehr geringen Latenzzeiten. Videos können mühelos und sicher von Quellen wie Überwachungskameras gestreamt und zur weiteren Analyse in Datenspeichern abgelegt werden.
AWS KI-Dienste wie Amazon Rekognition können genutzt werden, um Echtzeit-Einblicke und -Vorhersagen zu erhalten sowie Metadaten der Videostreams zu erstellen.
Die Architektur von Kinesis Video Streams:

Vorteile:
- Amazon Kinesis Video Stream ist serverlos und erspart dem Kunden somit den Overhead für Administration und Service-Management.
- Möglichkeit, von Millionen von Geräten zu streamen sowie Echtzeit-Anwendungen zu erstellen.
Anwendungsfall von Amazon Kinesis
Die untenstehende Architektur zeigt einen Anwendungsfall, der die Amazon Kinesis Services für die Echtzeit-Videoüberwachung implementiert.

Das Überwachungsmaterial der Überwachungskamera wird von Amazon Kinesis Video Streams erfasst.
Amazon Rekognition (ein Dienst zur Objekt- und Gesichtserkennung) wird eingesetzt, um Gesichter in Echtzeit aus dem Videomaterial zu identifizieren. Amazon Rekognition kann bekannte und unbekannte Gesichter identifizieren, indem es die Gesichter in Videostreams mit den Gesichtern im S3-Bucket vergleicht. Es kann auch die identifizierenden Merkmale bereitstellen, ohne das eigentliche Videomaterial der Gesichter im S3 zu speichern, insbesondere wenn der Datenschutz von größter Bedeutung ist.
Amazon Kinesis Firehose streamt die analysierten Daten von Amazon Rekognition in einen S3-Bucket. Eine Lambda-Funktion wird aufgerufen, um die Datenbank der Gesichtssammlung jedes Mal zu aktualisieren, wenn ein Gesicht verarbeitet und im S3-Bucket gespeichert wird. Gleichzeitig werden die von Amazon Rekognition analysierten Daten in Kinesis Data Streams geschrieben, die eine Lambda-Funktion auslösen und SNS aufrufen können, um eine Benachrichtigung an das Sicherheitssystem zu senden. Dies ermöglicht sofortiges Handeln im Falle einer Sicherheitsverletzung.
Dieser Anwendungsfall zeigt, dass die Integration von Kinesis-Diensten Echtzeitanalyse, -überwachung und -benachrichtigung ermöglicht, was mit Batch-Verarbeitungsmethoden nicht realisierbar ist.
Fazit
Amazon Kinesis verarbeitet Streaming-Daten, führt ETL und Echtzeit-ML mit minimalem DevOps-Support durch. Amazon Kinesis ist sehr flexibel und hochzuverlässig, was es zu einem sehr guten Kandidaten für die Verarbeitung und den Aufbau von Anwendungen aus Echtzeitdaten macht.
Der Übergang von der Batch-Verarbeitung zur Stream-Verarbeitung ist für Unternehmen, die auf zeitkritische Daten angewiesen sind, von großem Wert. Amazon Kinesis-Dienste unterstützen Unternehmen, die auf Echtzeit-Anwendungen angewiesen sind, die für ihre Geschäftsentscheidungen unerlässlich sind. Dadurch sparen sie Zeit und Energie, die sie sonst für die Bereitstellung und Verwaltung der Infrastruktur aufwenden müssten.
Möchten Sie mehr über AWS Kinesis erfahren oder benötigen Sie Unterstützung beim Aufbau einer Echtzeit-Anwendung aus Streaming-Daten für Ihr Unternehmen? Kontaktieren Sie uns unter info@ankercloud.com.


