Einführung - Streamen von Datenlösungen in AWS mit Amazon Kinesis

Einführung

Aufgrund der explosionsartigen Zunahme von Datenquellen, die kontinuierlich Datenströme erzeugen, erhalten Unternehmen heute Daten in großem Umfang und mit hoher Geschwindigkeit. Ob Protokolldaten von Anwendungsservern, Klickstrom-Daten von Websites und mobile Apps oder Telemetriedaten von Internet-of-Things-(IoT)-Geräten – sie alle enthalten Informationen, die Sie dabei unterstützen zu erfahren, welche Aktivitäten Ihre Kunden, Anwendungen und Produkte aktuell vornehmen.

Die Fähigkeit, diese Daten in Echtzeit zu verarbeiten und zu analysieren, ist unerlässlich, um z. B. Ihre Anwendungen kontinuierlich zu überwachen, eine hohe Betriebszeit zu gewährleisten und Werbeangebote und Produktempfehlungen zu personalisieren. Die Echtzeit- und echtzeitnahe Verarbeitung kann auch andere gängige Anwendungsfälle wie Website-Analysen und Machine Learning präziser und besser umsetzbar machen, da die Daten für diese Anwendungen in Sekunden oder Minuten statt in Stunden oder Tagen zur Verfügung stehen.

Echtzeit- und echtzeitnahe Anwendungsszenarien

Sie können Streaming-Datendienste für Echtzeit- und echtzeitnahe Anwendungen wie Anwendungsüberwachung, Betrugserkennung und Live-Ranglisten nutzen. Echtzeit-Anwendungsfälle erfordern End-to-End-Latenzen von Millisekunden – von der Erfassung über die Verarbeitung bis hin zur Übermittlung der Ergebnisse an Zieldatenspeicher und andere Systeme. Netflix beispielsweise verwendet Amazon Kinesis Data Streams, um die Kommunikation zwischen all seinen Anwendungen zu überwachen, damit Probleme schnell erkannt und behoben werden und so den Kunden hohe Servicebetriebszeiten sowie eine hohe Verfügbarkeit geboten werden kann. Der am häufigsten anzutreffende Anwendungsfall ist die Überwachung der Anwendungsleistung, aber auch immer mehr Echtzeitanwendungen in den Bereichen Werbetechnik (Ad Tech), Gaming und IoT fallen in diese Kategorie.

Zu den gängigen echtzeitnahen Anwendungsfällen gehören Analysen von Datenspeichern für die Datenwissenschaft und das Machine Learning (ML). Sie können Streaming-Datenlösungen verwenden, um kontinuierlich Echtzeitdaten in Ihre Data Lakes zu laden. Sie können ML-Modelle dann häufiger aktualisieren, wenn neue Daten zur Verfügung stehen, und so die Genauigkeit und Zuverlässigkeit der Ausgaben sicherstellen. Zillow beispielsweise nutzt Kinesis Data Streams, um Daten aus öffentlichen Registern und MLS-Listen (Multiple Listing Service) zu sammeln und dann Käufern und Verkäufern von Häusern und Wohnungen die aktuellsten Schätzungen des Immobilienwerts nahezu in Echtzeit bereitzustellen. Das Unternehmen ZipRecruiter nutzt Amazon MSK für seine Ereignisprotokollierungspipelines. Diese sind wichtige Infrastrukturkomponenten, die täglich über sechs Milliarden Ereignisse von der ZipRecruiter-Stellenbörse erfassen, speichern und kontinuierlich verarbeiten.

Unterschied zwischen Batch- und Stream-Verarbeitung

Für das Sammeln, Aufbereiten und Verarbeiten von Echtzeit-Streaming-Daten benötigen Sie andere Tools als die Tools, die Sie bislang für die Batch-Analyse verwendet haben. Bei der herkömmlichen Analyse sammeln Sie die Daten, laden sie regelmäßig in eine Datenbank und analysieren diese Stunden, Tage oder Wochen später. Die Analyse von Echtzeitdaten erfordert einen anderen Ansatz. Stream-Verarbeitungsanwendungen verarbeiten Daten kontinuierlich in Echtzeit, und zwar noch bevor sie gespeichert werden. Streaming-Daten können in rasantem Tempo eingehen, und das Datenvolumen kann jederzeit nach oben und unten schwanken. Plattformen für die Verarbeitung von Datenströmen müssen in der Lage sein, die Geschwindigkeit und Variabilität der eingehenden Daten zu bewältigen und sie zu verarbeiten, sobald sie eintreffen – oft sind dies Millionen bis Hunderte Millionen Ereignisse pro Stunde.