Echtzeit im IoT

Daten auf der Überholspur

19.05.2015
Von   IDG ExpertenNetzwerk
Als Global Product Lead Microsoft bei Syntax Systems beschäftigt sich Constantin Klein mit der Entwicklung von Lösungen auf Basis von Microsoft-Produkten und -Technologien. Sein besonderes Interesse gilt der Gewinnung und Nutzung von Daten. Seit 2010 wurde er jährlich zum Microsoft Most Valuable Professional ernannt und berät Microsoft seit 2020 auch als unabhängiger Regional Director. Ehrenamtlich ist er im Vorstand des PASS Deutschland e.V. tätig.
Im Zusammenhang mit dem Internet der Dinge und Industrie 4.0 werden immer wieder die drei Vs genannt: Volume, Variety und Velocity. Dennoch wird nicht allen drei Aspekten die gleiche Aufmerksamkeit geschenkt.

In vielen Fällen wird nur über die Problematik des wachsenden Datenvolumens gesprochen und aufgezeigt, wie hier In-Memory Technologien (wie beispielsweise SAP HANA) oder Apache Hadoop durch Verwendung des MapReduce Algorithmus weiterhelfen können. Dem Problem der Datenvielfalt stehen eine Reihe von Technologien gegenüber, angefangen von klassischem Data Warehousing, mit der Integration unterschiedlicher Datenquellen im ETL-Prozess, bis hin zu den unterschiedlichsten No-SQL-Angeboten, wie beispielsweise Microsofts DocumentDB oder Amazon DynamoDB . Doch wie sieht es mit der Velocity, also der Datengeschwindigkeit aus?

Die Geschwindigkeit, in welcher Daten beziehungsweise Datensätze entstehen, lässt sich leicht an einem einfachen Beispiel verdeutlichen: Wenn in einem Werk vier Produktionsstraßen existieren und in jeder Produktionsstraße sechs Maschinen zum Einsatz kommen und jede dieser Maschinen mit fünf Sensoren ausgestattet ist, welche einen Datensatz pro Sekunde liefern, so entstehen hier bereits 7.200 Datensätze pro Minute. Das entspricht 432.000 Datensätzen in der Stunde. Kommen weitere Sensoren, Maschinen oder Produktionsstraßen hinzu, so steigt die Anzahl der pro Sekunde zu verarbeitenden und in der Regel auch zu speichernden Datensätze weiter schnell an. Es gilt also eine Infrastruktur zu schaffen, welche in der Lage ist diese Menge an Signalen in dieser Geschwindigkeit entgegenzunehmen. Zusätzlich reicht es oft nicht diese Daten erst nachträglich über bereits erwähnte Praktiken oder Technologien, wie Data Warehousing oder MapReduce-Algorithmen zu verarbeiten, sondern häufig soll eine Auswertung oder Analyse in Echtzeit durchgeführt werden.

Zu den typischen Szenarien mit solchen Echtzeitanforderungen gehören zum Beispiel Fraud Detection, Empfehlungssysteme, Börsenanalysen oder das Netzwerk beziehungsweise Website Monitoring.

Grundlegende IoT Architektur

Eine typische Architektur für eine IoT-Lösung im Überblick.
Eine typische Architektur für eine IoT-Lösung im Überblick.
Foto: Microsoft

Vor diesem Hintergrund besteht eine typische Architektur für eine IoT Lösung häufig aus den folgenden Komponenten: Geräte und Datenquellen, Datentransport und Verbindung, Verarbeitung und Speicherung von Signalen und Datenströmen, sowie Weiterverarbeitung, Visualisierung und Präsentation der Daten bzw. Analysen

Verarbeitung und Analyse von Datenströmen

Eine entscheidende Komponente im Rahmen einer solchen Architektur ist also ein Stream Event Processor oder eine Complex Event Processing (CEP) Engine. Das besondere hierbei: CEP ist ein Sammelbegriff für Methoden, Techniken und Werkzeuge, um Ereignisse zu verarbeiten, während sie passieren, also kontinuierlich und zeitnah. Im Funktionsumfang solcher Engines sind üblicherweise Operatoren enthalten, die es ermöglichen mehrere Datenströme miteinander in Verbindung zu setzen oder aber um Referenzdaten anzureichern. Zusätzlich lassen sich stehende Abfragen definieren, die mathematische Operationen mit zeitlichem Bezug ermöglichen. Beispielsweise lässt sich damit eine Frage nach folgendem Muster einfach beantworten: "Sage mir alle X Minuten, wie viele Ereignisse/Werte vom Typ Y es in den letzten Z Minuten gab". Prominente Vertreter solcher CEP Systeme beziehungsweise Technologien sind Apache Storm oder Microsoft Azure Stream Analytics.

Fazit

Für IoT und Big Data Szenarien spielt neben der zu verarbeitenden Datenmenge und -vielfalt auch die Geschwindigkeit der Datenentstehung und der gewünschten Verarbeitung eine gleichwertige Rolle beim Design einer geeigneten IoT Architektur. Eine Stream Processing Engine ist dabei eine wichtige Komponente um Operationen in Echtzeit auf Datenströmen durchführen zu können und sollte deshalb als Element in keiner IoT Lösung fehlen.

Microsoft bietet mit Azure Stream Analytics seit Mitte April einen interessanten Cloud-Service, der genau für den Einsatz in solchen Szenarien ausgelegt ist. Die Echtzeitanalyse für Millionen von Ereignissen pro Sekunde. (mje)

Dieses Thema können Sie auch als Vortrag auf der DWX - Developer Week vom 15.-18. Juni 2015 auf dem Messegelände Nürnberg hören. Mit über 200 Sessions von mehr als 150 Experten ist die Developer Week eine der größten unabhängigen Entwicklerkonferenzen Europas für Web- Mobile und .NET-Entwickler. Weitere Informationen zum Programm und den Experten finden Sie unter http://www.developer-week.de/.