Komplexe Ereignisverarbeitung
Was ist komplexe Ereignisverarbeitung?
Komplexe Ereignisverarbeitung (Complex Event Processing, CEP) – auch bekannt als Ereignis-, Stream- oder Ereignisstromverarbeitung – bezeichnet den Einsatz von Technologie zur Abfrage von Daten, noch bevor diese in einer Datenbank gespeichert werden oder in einigen Fällen sogar, ohne dass sie jemals gespeichert werden. Komplexe Ereignisverarbeitung ist ein organisatorisches Werkzeug, mithilfe dessen große Mengen an heterogenen Informationen aggregiert und Echtzeit Ursache-Wirkungs-Beziehungen zwischen Ereignissen analysiert werden können. CEP gleicht eingehende Ereignisse kontinuierlich mit einem Muster ab und liefert Echtzeit-Einblicke in das, was gerade passiert. Sie können dadurch proaktiv reagieren und effektive Maßnahmen ergreifen.
Komplexe Ereignisse stehen häufig in Zusammenhang mit geschäftskritischen Ereignissen – etwa Chancen oder Risiken – und erfordern eine Reaktion in Echtzeit oder Nahezu-Echtzeit.
Wichtigste Anwendungsbereiche für CEP:
- Business Activity Monitoring zielt darauf ab, Probleme und Chancen durch Überwachung von Geschäftsprozessen und kritischen Ressourcen frühzeitig zu identifizieren.
- Sensornetzwerke, die zur Überwachung von Industrieanlagen eingesetzt werden. Die Daten basieren in der Regel auf Rohmesswerten [z. B. Temperatur, Rauch].
- Marktdaten wie Aktien- oder Rohstoffpreise; sie müssen aus mehreren Ereignissen und ihren Beziehungen durch CEP abgeleitet werden.
Die gängigsten Tools für die komplexe Ereignisverarbeitung:
- Apache Spark Streaming, verwendet von Databricks
- Apache Flink, verwendet von data Artisans
- Apache Samza, verwendet von LinkedIn
- Apache Storm, verwendet von Twitter
- Hadoop/MapReduce.
- Amazon Kinesis Analytics
- Microsoft Azure Stream Analytics, Stream Insight
- Fujitsu Software Interstage Big Data Complex Event Processing Server
- IBM Streams, Operational Decision Manager [ODM]
- Oracle Stream Analytics und Stream Explore
Komplexe Ereignisverarbeitung wird hauptsächlich eingesetzt, um die folgenden Anforderungen zu erfüllen: Niedrige Latenz. In der Regel wird erwartet, dass die Latenz unter wenigen Millisekunden liegt, in manchen Fällen sogar unter einer Millisekunde – vom Eintreffen eines Ereignisses bis zu dessen Verarbeitung. Das Volumen der Eingabeereignisse pro Sekunde ist beträchtlich hoch. Typischerweise sind es Hunderte bis mehrere Tausend Ereignisse pro Sekunde. Die zu erkennenden Ereignismuster sind komplex: z. B. Muster, die auf zeitlichen oder räumlichen Beziehungen basieren.