• IT-Karriere:
  • Services:

CEP wertet nicht Daten aus, sondern Ereignisse

Dadurch funktioniert die Auswertung bei CEP bereits, während der Prozess selbst läuft, wohingegen im Data Warehouse die Daten für die Auswertung erst bereitstehen, wenn der Prozess bereits abgeschlossen ist. Vergleichbar ist das mit Reaktionen auf ein stattfindendes Ereignis gegenüber Reaktionen aufgrund eines Zeitungsberichtes über dieses Ereignis.

Stellenmarkt
  1. Hottgenroth Software GmbH & Co. KG, Münster
  2. Zahoransky AG, Todtnau

Ein Ereignis, das innerhalb des Systems vorgefallen ist, nennt man einen Event. Er besteht aus einem Zeitstempel und einer Beschreibung, um was für ein Ereignis es sich handelt, angereichert mit der Information, was passiert ist. So ein Event kann ganz unterschiedliche Quellen haben. Es könnte ein Sensor sein, der etwas entdeckt hat. Es könnte aber auch der Klick auf einen Button sein, um die auf einer Webseite aktualisierten Informationen abzuspeichern.

Gemeinsam haben diese Beispiele nur, dass sie eine Quelle für Ereignisse ganz unterschiedlicher Art sind, die zu einem bestimmten Zeitpunkt ausgelöst wurden. Jede solche Ereignisquelle, im Englischen als Event Source bezeichnet, wird aller Wahrscheinlichkeit nach nicht nur einmal etwas melden, sondern mehrmals hintereinander gleichartige Informationen bereitstellen.
Diese Folge von Ereignissen nennt man Event Stream, oder auf Deutsch Ereignisstrom. Ob dieser Strom einem festen Takt folgt oder nur aufgrund eines externen Auslösers gesendet wird, ist nicht wichtig. Zum Beispiel könnte ein Sensor alle fünf Sekunden die aktuelle Raumtemperatur übermitteln, während ein anderer Sensor sich nur dann meldet, wenn ein Auto in ein Parkhaus einfährt.

Event Stream Processing verarbeitet einen Ereignisstrom

Einfach nur einen Strom an Ereignissen zu generieren und in die Welt hinauszuschreien, ist allerdings nur sinnvoll, wenn jemand auf diesen Strom von Ereignissen hört und ihn weiterverarbeitet oder zumindest irgendwie darauf reagiert. Dieser Jemand ist ein Dienst, der den Datenstrom abonniert, für den er sich interessiert, und dann damit macht, was programmiert wurde: der Event Stream Processor.

Ein Event Stream muss nicht nur einen einzigen verarbeitenden Dienst haben, es können beliebig viele sein. So könnte zum Beispiel einer der verarbeitenden Dienste die Daten in eine Datenbank schreiben, ein anderer ein Logfile schreiben und ein dritter einfach nur die aufgetretenen Ereignisse zählen.
Allerdings verarbeitet solch ein Event Stream Processor erst einmal immer nur ein einziges Ereignis von einem einzigen Ereignisstrom. Und das auch nur schön eines nach dem anderen. Zusammengenommen kümmern sich diese Dienste um das Event Stream Processing (ESP).

Doch schon für einfache Anwendungsfälle genügt es nicht, nur auf das aktuelle Ereignis einzugehen. Wenn zum Beispiel der Temperaturmesser eine neue Temperatur meldet und man diese neue Temperatur nicht einfach nur anzeigen, sondern beispielsweise einen Alarm auslösen möchte, wenn sich die gemessenen Werte um mehr als zehn Grad Celsius unterscheiden, dann muss der bearbeitende Dienst schon etwas mehr können: Er muss sich an das vorherige Ereignis erinnern, darf nicht mehr jedes Event einzeln für sich betrachten.

Noch deutlicher wird das bei dem Beispiel des Parkhauses. Denn lediglich zu wissen, wie viele Autos eingefahren sind, reicht nicht für eine Aussage, ob noch Parkplätze frei sind. Dazu müsste der Dienst noch auf einen weiteren Stream hören: einen, der sich meldet, wann immer ein Auto das Parkhaus verlässt. Einfaches ESP genügt nun nicht mehr. Es wird etwas benötigt, das auf mehrere Streams hören, diese verarbeiten und sich an Vorangegangenes erinnern kann.

Komplex im Sinne von zusammengesetzt

Ein solcher auf mehrere Streams hörender Dienst, der auch noch die vorherigen Ereignisse berücksichtigt und diese Informationen zusammensetzt, ist das Complex Event Processing. Im Gegensatz zur Einzelbetrachtung von Ereignissen wird hier aus dem Zusammensetzen der Informationen neues Wissen generiert. Dieses kann wiederum als eigene Information zugänglich gemacht werden oder gleich eine bestimmte Aktion auslösen.

Oft wird zwischen CEP und ESP keine große Unterscheidung gemacht, zumal die verwendeten Frameworks für beide die gleichen sind. Klar: Denn nur auf einen Event Stream zu hören und vorangegangene Ereignisse nicht zu betrachten ist ja quasi nur ein Sonderfall innerhalb von CEP, und so lässt sich mit einem für CEP gedachten Framework immer auch ESP abbilden.

In der Softwareentwicklung werden beide deshalb oft synonym verwendet, was aber streng genommen falsch ist: Beide sind Teil des Themas Stream Processing, es gibt zwischen beiden eine gewisse Überschneidung und vor allem eine gegenseitige Verwendung.
So verwendet CEP einen oder mehrere Event Stream Processors für die Eingabeseite. Damit werden die Streams abgehört, die die Eingabewerte liefern. Innerhalb von CEP werden diese dann für den Gebrauch abgespeichert, miteinander verglichen und verknüpft, kurz weiterverarbeitet, um dann ein Ergebnis zu produzieren: das neue Wissen. CEP enthält Prozesslogik und ist selbst als Ausgabe erneut eine Quelle von Events, die dann weiter genutzt werden können - eben durch einen ESP.

Data Warehouses haben eine größere Datenbasis

Die Anwendungen von CEP sind vielfältig. Im Aktienhandel wird das Prinzip verwendet, um anhand eingehender Kurs-Updates Trends zu erkennen, nach Mustern zu suchen und so Entscheidungen über Kauf oder Verkauf auszulösen. Im Autobau wird es für Assistenzsysteme bis hin zum autonom fahrenden Auto verwendet. Schließlich müssen dort verschiedenste Sensorinformationen - Straßenbeschaffenheit, Abstände, Geschwindigkeiten, Signale, Schilder, Linien und vieles mehr - aufgenommen, abgeglichen und ausgewertet werden, um dann sofortige Entscheidungen zu treffen.

In Computernetzwerken wird es zur Lastvorhersage und Diagnose verwendet, in Maschinen, um Muster zu erkennen, die auf sich ankündigende Probleme hinweisen, so dass frühzeitig gewarnt und zur Not abgeschaltet werden kann. Die meisten Berührungspunkte dürften Internetnutzer allerdings durch die Verwendung im Marketing haben. Immer dann, wenn ein Onlineshop ganz aktuell auf das Nutzerverhalten bezogene Produkte als Empfehlung präsentiert, steckt wahrscheinlich CEP dahinter.

Diese Anwendungsfälle haben gemeinsam, dass es vor allem darum geht, aktuelle Daten gegen vorhandene Muster abzugleichen und darauf zu reagieren. Je nach Anwendungsfall bewegt sich das in Zeiträumen bis hin zu einigen Stunden, im Fall von operationellen Analysen vielleicht auch dem einen oder anderen Tag.

Was darüber hinausgeht, also Analysen über Trends aus den letzten Tagen, Wochen oder Jahren, das ist weiterhin in den Data Warehouses zu finden. Denn da kommt es nicht darauf an, innerhalb weniger Sekunden die richtige Entscheidung treffen zu müssen. Stattdessen wird ein Mehr an zur Verfügung stehenden Basisdaten der Aktualität vorgezogen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Complex Event Processing: Informationen fast in Echtzeit auswerten
  1.  
  2. 1
  3. 2


Anzeige
Hardware-Angebote
  1. täglich neue Deals bei Alternate.de

GwhE 02. Jul 2020

Golem, da hätte man mehr erwarten können, das ganze liest sich wie ein Referat eines...

Rettungsschirm 02. Jul 2020

Hab den Artikel gelesen, aber so genau ist mir nicht klar geworden, was der Unterschied...


Folgen Sie uns
       


    •  /