Blog

Fast Data: BI ohne Verzögerung

Technologie

von  am 28. Mai 2015 um 12:50 Uhr

Auch die Welt der Business Intelligence (BI) wird dynamischer: Auf der einen Seite erzeugen immer mehr vernetzte Geräte ständig mehr Daten, auf der anderen Seite fordern immer mehr Anwender detailliertere Informationen, die sekunden-, minuten- oder wenigstens tagesaktuell sind.

Periodisch stattfindende ETL (Extract-Transform-Load) Läufe zur Datenintegration können diese Anforderungen nicht bedienen. Mit Fast Data lassen sich kontinuierliche Datenströme mit großem Volumen in Echtzeit analysieren. Typische Einsatzbereiche sind Sensordaten, Log-Daten oder Produktionsdaten.

Daimler TSS setzt derzeit drei unterschiedliche Technologien im Fast Data-Umfeld ein – wir stellen sie hier kurz vor.

Stream Processing Lösungen aus der Datenbankwelt
Technologien wie SQL Server StreamInsight oder IBM InfoSphere Streams ermöglichen ein inkrementelles Analysieren und Korrelieren von Daten, ohne dass diese zuvor auf einem Speichermedium abgelegt werden. SQL Server StreamInsight ist eine reine In-Memory Engine. Adapter und Verarbeitungslogik werden mit Hilfe von bekannten Tools wie MS Visual Studio oder LINQ programmiert. Die Daten werden zur Laufzeit Zeitfenstern zugeordnet (z.B. alle zwei Minuten), aufbereitet und anschließend mit ihren Analyseergebnissen an z.B. KPI Dashboards, relationale DBs gesendet. TSS hat SQL Server StreamInsight bereits prototypisch eingesetzt, um GPS-Daten von PKWs in Echtzeit auszuwerten, graphisch darzustellen und um z.B. Geschwindigkeiten und Bewegungsprofile ableiten zu können. Die Verarbeitung der Datenströme erfolgt in Verarbeitungspipelines.

Distributed Stream Processing mit Storm und Hadoop
Distributed Stream Processing-Lösungen sind bei großen Internet-Unternehmen wie Twitter (Storm) und LinkedIn (Samza) entstanden, um die dort anfallenden unzähligen Echtzeitereignisse zu verarbeiten. Der Kern solcher Lösungen ist die dynamische Verteilung der notwendigen Berechnungen in einem Rechencluster. Dadurch ist die Menge der in Echtzeit bearbeitbaren Daten in den meisten Fällen nur noch durch die Anzahl der verfügbaren Rechner und die Netzwerkanbindung beschränkt. Die durchgeführten Berechnungen sind ähnlich zu den Stream Processing-Anwendungen der Datenbankwelt. Die neueste Entwicklung im Umfeld dieser Systeme ist die Integration in Hadoop – damit wird das Management der Lösungen einfacher und Stream Processing kann einen Rechencluster gemeinsam mit anderen Programmen nutzen. TSS betreibt solch eine Storm Installation als Teil seines Big Data Labs.

Echtzeitlogauswertung mit ELK (Elastic Search, Logstash und Kibana)
Diese drei aufeinander abgestimmten Lösungen sind darauf spezialisiert, „Logs“ von verteilten Systemen in einen zentralen Rechencluster zu bringen (> Aufgabe von Logstash), sie dort in Nah-Echtzeit zu indizieren (> Elastic Search) und schließlich über eine Web-Oberfläche zur einfachen Analyse zugänglich zu machen (> Kibana). „Logs“ meint in diesem Zusammenhang im Allgemeinen in Textdateien geschriebene Ereignisse aus IT-Systemen – wie beispielsweise Fehler in einer Webapplikation, ausgelesene Zustände aus einem Fahrzeug oder Aktionen eines Roboters. Dieser sogenannte „ELK-Stack“ ist spezialisierter als die oben beschriebenen Lösungen – der große Vorteil liegt jedoch in der einfachen Anwendung und Skalierung. In sehr kurzer Zeit lässt sich so eine Lösung umsetzen, mit der beispielsweise Logs aus einer verteilten IT-Infrastruktur mit Dutzenden von Rechner sofort an einer zentralen Stelle analysiert werden sowie Dashboards und Alerts definiert werden können. Bei TSS ist dieses System bereits erfolgreich für die Überwachung von sowohl Fahrzeugen als auch IT-Infrastrukturen eingesetzt worden.

Wichtige Begriffe und Abkürzungen im Fast Data Umfeld:

ETL
ETL (Extract-Transform-Load) ist ein Verfahren, um Daten aus einem oder mehreren Quellsystemen in einem Zielsystem zu integrieren.

SQL Server StreamInsight, IBM InfoSphere Streams
Kommerzielle Produkte für die Real-Time-Verarbeitung von Datenströmen.

In-Memory Engine
Ein System, das den Arbeitsspeicher von Servern zur Datenspeicherung nutzt.

LINQ
LINQ (Language Integrated Query) ist ein Microsoft Framework zum Zugriff auf Daten.

Samza, Storm
Apache Frameworks für die Real-Time Verarbeitung von Datenströmen.

Hadoop
Apache Framework für hoch skalierbare, verteilte, parallele Datenspeicherung und Verarbeitung.

Elastic Search
Hochverfügbares, skalierbares System für die Volltextsuche.

Logstash
Tool zur Sammlung und Filterung von Log- bzw. Eventdaten.

Kibana
Tool zur Visualisierung von Logdaten in Echtzeit.

Zurück zur Übersicht

Diesen Beitrag teilen

Was sagen Sie zu diesem Thema? Diskutieren Sie mit!