Moderne Architekturen zur Datenanalyse – Teil 3

Langzeitanalysen

| Autor / Redakteur: Steffen Hausmann / Nico Litzel

Durch Speicherung der Daten in einem Langzeitarchiv werden diese Anwendungen zugänglich gemacht, die nicht direkt auf die Daten in einem Datenstrom zugreifen können.
Durch Speicherung der Daten in einem Langzeitarchiv werden diese Anwendungen zugänglich gemacht, die nicht direkt auf die Daten in einem Datenstrom zugreifen können. (Bild: AWS)

In den ersten beiden Teilen des Artikels ging es um die optimale Analyse von Echtzeitdaten mithilfe der Cloud. Dabei wurden in Echtzeit einlaufende Geoinformationen und Bezahldaten eines Taxiunternehmens in New York untersucht. Neben solchen Dashboard-Betrachtungen sind oftmals zusätzlich Langzeitanalysen von historischen Daten sinnvoll und gewünscht.

Ein Datenstrom, wie er im ersten Teil des Artikels genutzt wurde, speichert Daten in der Regel aber nur für eine gewisse Dauer, im Fall von Kinesis Data Streams maximal sieben Tage. Um eine Analyse von historischen Daten zu ermöglichen, müssen die Daten daher zusätzlich in einem Langzeitarchiv abgelegt werden. Durch die Speicherung der Daten in einem Langzeitarchiv, wie etwa Amazon S3, werden sie zusätzlich Anwendungen zugänglich gemacht, die nicht direkt auf die Daten in einem Datenstrom zugreifen können.

Analyse von Echtzeitdaten

Moderne Architekturen zur Datenanalyse – Teil 1

Analyse von Echtzeitdaten

13.03.20 - In dieser dreiteiligen Artikelserie betrachten wir anhand einer konkreten Beispielanwendung den Aufbau einer Architektur zur Analyse von Echtzeitdaten mit AWS. Wir diskutieren, wie durch das Zusammenspiel verschiedener Dienste Aspekte der Echtzeitanalyse und der langfristigen Analyse von Daten flexibel kombiniert werden können. lesen

Zum Ablegen der Daten in S3 verwenden wir Amazon Kinesis Data Firehose. Amazon Kinesis Data Firehose bietet eine einfache Methode zum zuverlässigen Laden von Streaming-Daten in Datenspeicher und Analyse-Tools. Es können damit Streaming-Daten aufgezeichnet, umgewandelt und in Amazon S3, Amazon Redshift, Amazon Elasticsearch Service und Splunk geladen werden, sodass Analysen mit vorhandenen Business Intelligence Tools und -Dashboards oder auch direkt mit SQL-Anfragen über Amazon Athena möglich werden.

Beim Speichern der Daten in S3 können die Daten außerdem komprimiert und in spaltenorientierte Formate wie Apache Parquet und Apache ORC umgewandelt werden. Insbesondere spaltenorientierte Formate sind für eine kosteneffiziente Speicherung und für Analysen mit Services wie Amazon Athena, Amazon Redshift Spectrum, Amazon EMR, und anderen Hadoop-basierten Tools optimiert.

Ein weiterer Vorteil von spaltenorientierten Formaten ist, dass durch die Strukturierung der Daten in Zeilen statt in Spalten, Komprimierungsalgorithmen wesentlich effektiver arbeiten können. Das spart nicht nur Kosten bei der Speicherung der Daten, sondern beschleunigt auch Anfragen, da weniger Daten über das Netzwerk geladen werden müssen. Des Weiteren ermöglichen spaltenorientierte Formate das selektive Lesen einzelner Spalten und sogar das selektive Lesen von den Teilbereichen einer Datei, die für die Beantwortung der Anfrage relevant sind. Dadurch müssen weniger Daten zum Beantworten von Anfragen gelesen werden, woraus sich auch hier wieder Einsparungen bei den Kosten und schnellere Antwortzeiten ergeben.

Analyse historischer Daten mithilfe von SQL

Nachdem die Daten in Amazon S3 abgelegt wurden, möchten wir sie mit SQL-Anfragen auswerten, um langfristige Trends über die Anzahl der Fahrten und des Umsatzes zu erhalten. Da die Daten jedoch in ihrer Rohform vorliegen, muss zunächst ein Schema für die Daten definiert werden, um sie dann über SQL-Anfragen analysieren zu können. Dabei bietet es sich an, den Speicherort der Daten und das entsprechende Schema in einem zentralen Datenkatalog zu hinterlegen, damit alle berechtigten Nutzer innerhalb des Unternehmens die Daten leicht finden und verwenden können.

Echtzeitdaten – Ausreißer identifizieren

Moderne Architekturen zur Datenanalyse – Teil 2

Echtzeitdaten – Ausreißer identifizieren

18.03.20 - Im ersten Teil des Artikels ging es um die optimale Analyse von Echtzeitdaten mithilfe der Cloud. Dabei werden beispielhaft in Echtzeit einlaufende Geoinformationen und Bezahldaten eines Taxiunternehmens in New York untersucht. Durch die Vorverarbeitung der Daten musste zunächst für eine ausreichende Datenqualität gesorgt werden. Im nächsten Schritt geht es nun darum, die Daten miteinander zu verglichen, um Ausreißer zu identifizieren. lesen

Für unser Beispiel verwenden wir AWS Glue. Dabei handelt es sich um einen vollständig verwalteten Service zum Extrahieren, Umwandeln und Laden (Extract, Transform and Load, kurz ETL) von Daten. Sie können ihn verwenden, um Ihre Daten zu katalogisieren, zu bereinigen, anzureichern und zuverlässig zwischen Datenspeichern zu bewegen. Darüber hinaus bietet der Dienst auch einen HIVE-kompatiblen Meta-Store. Er ist dafür ausgelegt, Informationen zentral zu speichern und anderen Diensten, wie etwa Amazon Athena, zur Verfügung zu stellen.

Dadurch müssen die Meta-Informationen, wie etwa das Datenschema und der genaue Speicherort der Daten nur einmal hinterlegt werden und können von allen berechtigten Anwendern leicht abgefragt werden, was Zeit spart und Fehler vermeidet.

Zum Anfragen der Daten verwenden wir Amazon Athena, einen interaktiver Abfrageservice, der die Analyse von Daten in Amazon S3 mit Standard-SQL erleichtert. Athena kommt ohne Server aus, deshalb gibt es auch keine Infrastruktur zu verwalten und Sie zahlen nur für die Abfragen, die Sie auch ausführen. Amazon Athena ist mit dem AWS Glue Data Catalog integriert, sodass wir die bereits hinterlegten Metadaten nutzen können, um direkt mit der Anfrage der Daten zu starten, ohne uns um das Erstellen des Schemas oder dem Auffinden der Daten erneut kümmern zu müssen.

Die SQL-Anfragen werden von Athena ausgewertet, das die Daten direkt aus Amazon S3 lädt. Amazon Athena stellt dabei im Hintergrund die benötigte Infrastruktur zur Verfügung, sodass wir uns vollständig das Auswerten und Analysieren der Daten konzentrieren können.

SELECT * FROM "cleaned_trips" limit 10;

Neben dieser ersten einfachen Anfrage lassen sich auch deutlich kompliziertere Anfragen auswerten.
Neben dieser ersten einfachen Anfrage lassen sich auch deutlich kompliziertere Anfragen auswerten. (Bild: Bild: AWS)

Neben dieser ersten einfachen Anfrage lassen sich auch deutlich kompliziertere Anfragen auswerten. So ist es mit folgender Anfrage möglich, einen Einblick in die langfristige Entwicklung der täglichen Anzahl der Taxifahrten und des täglichen Umsatzes zu erhalten.

SELECT

COUNT(1) AS num_trips,

SUM(total_amount) AS revenue,

date_trunc('day', dropoff_datetime) AS dropoff_day

FROM "cleaned_trips"

GROUP BY 3 ORDER BY 3;

Wenn Sie das Szenario in Ihrem Account durch das CloudFormation Template nachgestellt haben, und eigene SQL-Anfragen formulieren möchten, gehen Sie zum Dienst Amazon Athena in der AWS-Konsole und wählen Sie unter Database die Datenbank bigdata_insider aus.
Wenn Sie das Szenario in Ihrem Account durch das CloudFormation Template nachgestellt haben, und eigene SQL-Anfragen formulieren möchten, gehen Sie zum Dienst Amazon Athena in der AWS-Konsole und wählen Sie unter Database die Datenbank bigdata_insider aus. (Bild: Bild: AWS)

Wenn Sie das Szenario in Ihrem Account durch das CloudFormation Template nachgestellt haben, und eigene SQL-Anfragen formulieren möchten, gehen Sie zum Dienst Amazon Athena in der AWS-Konsole und wählen Sie unter Database die Datenbank bigdata_insider aus. Zunächst müssen die Metadaten, insbesondere der genauer Speicherort der neu hinzugefügten Objekte in S3 aktualisiert werden. Um das zu erreichen, genügt es auf die drei Punkte neben der Tabelle cleaned_trips zu drücken und dann Load partitions auszuwählen.

Mit modernen Daten-Architekturen zur eigenen Datenplattform

In diesem Artikel haben wir die grundsätzlichen Komponenten einer vollständig verwalteten, skalierbaren und hoch verfügbaren Architektur zum Aufnehmen, Verarbeiten, und Speichern von Echtzeitdaten diskutiert. Dabei haben wir zwei unterschiedliche Aspekte, die Überwachung des Umsatzes des Unternehmens in Echtzeit und die langfristige Analyse der Daten zum Erkennen von Trends, in einer flexiblen Architektur kombiniert. Mithilfe der Beispielanwendung haben Sie gesehen, wie einfach sich in der Cloud moderne Architekturen erstellen lassen, die auf einer einheitlichen Datenbankgrundlage eine Vielzahl unterschiedlicher Analysen erlauben.

Dabei diente die Verarbeitung und Anfrage der Daten mit Kinesis Data Analytics auf Amazon Athena nur als Beispiel, denn die Architektur ist flexibel gestaltet und erlaubt es nun eine Vielzahl von verschiedenen Tools zu verwenden, um die Daten weiterzuverarbeiten und zu analysieren. Alternativ können die Daten beispielsweise mit AWS Glue aggregiert und dann in Amazon Redshift geladen werden. Oder es wird mithilfe von Amazon SageMaker oder Amazon Forecaset ein Modell trainiert, um bessere Vorhersagen über die Entwicklung des Umsatzes und besonders lukrativer Regionen zu erstellen.

Des Weiteren basiert die Architektur auf vollständig verwalteten Diensten, sodass Sie sich auf die Analyse der Daten und das Lösen Ihrer Business-Probleme konzentrieren können, ohne sich um die Beschaffung und den Betrieb der Infrastruktur kümmern zu müssen.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46361463 / Best Practices)