Tipp: Kinesis Data Streams

Mit Amazon Kinesis Data Streams lassen sich verschiedene Daten wie Website-Clickstreams, Anwendungsprotokolle oder IoT-Telemetriedaten in Echtzeit analysieren. Dabei müssen Sie nicht abwarten, bis alle Daten erfasst wurden. Im ersten Schritt fügen Sie dazu die Datenquelle, etwa einen Klickstrom, zum Kinesis-Stream hinzu. Dazu richten Sie über die Amazon Kinesis Management Console oder über den API-Call „CreateStream“ einen Stream ein. Dabei legen Sie den Durchsatz des Amazon Kinesis-Streams fest. Er wird von der Anzahl der Shards innerhalb eines Streams bestimmt. Ein Shard ist die Basiseinheit hierfür und hat eine Dateneingabekapazität von einem MB/s und eine Datenausgabekapazität von zwei MB/s. Er kann bis zu 1.000 PUT-Datensätze pro Sekunde unterstützen. Sie können die Anzahl der Shards in Ihrem Stream dynamisch anpassen („Resharding“).

Über den PutRecords API-Call können Datenproduzenten darauf hin Daten in den Kinesis Data Stream hineinschicken. Die AWS-Dokumentation enthält hierfür Beispiel-Code. Zahlreiche Programmiersprachen wie Java, Python, C#, Node.js etc. werden durch die AWS Software Development Kits (SDKs) unterstützt.

In der Amazon Kinesis Data Streams Management Console sehen Sie anschließend die wichtigsten Betriebs- und Leistungsmetriken wie etwa den Durchsatz bei Dateneingang und Datenausgang. In der Grundeinstellung werden Ihre Daten von Amazon Kinesis bis zu 24 Stunden lang gespeichert. Durch Aktivierung der erweiterten Datenaufbewahrung (Extended Data Retention) können Sie diese Spanne auf bis zu sieben Tage erhöhen.

Um anschließend die Daten aus dem Stream zu lesen und zu verarbeiten, müssen Sie eine Amazon Kinesis-Anwendung entweder mithilfe der Amazon Kinesis-API oder der Amazon Kinesis Client Library (KCL) erstellen. Bei der Amazon Kinesis Client Library (KCL) für Java, Python, Ruby, Node.js, .NET handelt es sich um eine vordefinierte Bibliothek, mit der Sie Ihre Amazon Kinesis-Anwendung zum Lesen und Verarbeiten von Streaming-Daten entwickeln können. Die KCL übernimmt automatisch komplexe Aufgaben wie die Anpassung an Änderungen beim Stream-Volumen, den Lastausgleich für Streaming-Daten, die Koordination verteilter Services und fehlertolerante Datenverarbeitung. Die KCL wird dann auch von Kinesis Analytics verwendet, um Daten von Streaming-Datenquellen zu lesen. Kinesis Analytics ist die einfachste Möglichkeit, um die Streaming-Daten am Ende in Echtzeit verarbeiten und abfragen zu können.

Da Amazon Kinesis Analytics mit Standard-SQL-Befehlen arbeitet, müssen Sie keine neue Programmiersprache lernen. Verweisen Sie Kinesis Analytics einfach auf den eingehenden Daten-Stream, schreiben Sie Ihre SQL-Abfragen und geben Sie an, wohin die Ergebnisse geliefert werden sollen. Kinesis Analytics sorgt dafür, dass Ihre SQL-Abfragen der Daten während des Empfangs kontinuierlich ausgeführt und die Ergebnisse an die Ziele gesendet werden.