Logo Wissenstransfer Gerhard at CichnaDotCom

>> Wissensdatenbank / Einführung in das Internet of Things

Datenspeicherung und -verarbeitung

Verarbeitung von Datenströmen mit Complex Event Processing

Die stark zunehmende Anzahl intelligenter Gegenstände im Internet of Things führt auch dazu, dass die Datenmengen, die beim Betrieb dieser Geräte anfallen, stetig ansteigen. CEP (Complex Event Processing) ist eine Softwaretechnologie, um massive Datenströme aus heterogenen Quellen in Echtzeit (sogenannte Live-Daten) dynamisch zu analysieren und diese mit anderen Datenströmen zu korrelieren. Im Unterschied zur klassischen Datenverarbeitung, in der häufig kontinuierlich Datenbankabfragen auf persistente Datenbestände generiert werden, leitet CEP sich dynamisch-verändernde Datenströme auf persistente Analyseregelwerke um.

Beispiele für Anwendungsszenarien von CEP zur Echtzeitanalyse massiver Datenströme:

Complex Event Processing sucht in großen, komplexen Datenströmen nach Ereignismustern. Ein Ereignis ist in diesem Zusammenhang definiert als die Veränderung eines Zustandes - also z.B. die Änderung eines Wertes eines Objektes (z.B. Temperaturveränderung in °C). Diese Ereignismuster werden in Ereignisregeln mittels sogenannten Event Processing Languages (EPL) definiert, für die jedoch aktuell kein verbindlicher Standard existiert.


Beispiel für eine Ereignisregel

wenn (A und B) dann Aktion1


Kernkomponente eines jeden CEP-Systems ist der sogenannte Event Processing Agent (EPA). Dieser besteht aus den folgenden drei Komponenten:

Abbildung: Elemente eines Event Processing Agents

Ein Event Processing Agent als Kernkomponente eines jeden CEP-Systems kann nur eingebettet in eine ereignisgesteuerte Gesamtarchitektur funktionieren. Eine solche Event-Driven Architecture (EDA) ist ein Framework bestehend aus drei Elementen:

Um den Datenfluss von Ereignisquelle über Ereignisverarbeitung bis hin zur Ereignisbehandlung zu realisieren, werden sogenannte In-/Out-Adapter verwendet, die eine Einbindung unterschiedlichster Datenformate und Protokolle ermöglichen (u.a. diverse Office- und Datenbankformate). Beispielsweise ist es aus Sicht der Anwender sehr interessant, die Ergebnisse der Ereignisverarbeitung in Echtzeit auf einem sogenannten Dashboard in einer übersichtlichen, grafischen Darstellung (idealerweise auch auf einem mobilen Endgerät) nachverfolgen zu können.

Logische Schichten einer Event-Driven Architecture (EDA):
Abbildung: Logische Schichten einer Event-Driven Architecture (EDA)

Wichtige Anforderungen an CEP-Systeme sind die flexible Integration unterschiedlichster Ereignisquellen und -behandlungen, eine hohe Skalierbarkeit - um die rasant wachsenden Datenmengen verarbeiten zu können - und eine hohe Verfügbarkeit. Letztere stellt sicher, dass die Informationen aus der Ereignisverarbeitung dann verfügbar sind, wenn sie auch benötigt werden. Complex Event Processing kann für Unternehmen neben den dargestellten Anwendungsszenarien insbesondere dann von hohem Nutzen sein, wenn damit im Rahmen der Risikoanalyse komplexe, kritische Geschäftsrisiken analysiert und deren monetäre Auswirkungen auf das Unternehmen betrachtet werden können.