Elaborazione di eventi complessi
Cos'è l'Elaborazione di eventi complessi [CEP]?
L'elaborazione di eventi complessi [CEP], conosciuta anche come elaborazione di eventi, flussi o flussi di eventi, è l'uso della tecnologia per interrogare i dati prima di archiviarli in un database o, in alcuni casi, senza che vengano mai archiviati. L'elaborazione di eventi complessi è uno strumento organizzativo che aiuta ad aggregare molte informazioni diverse e identifica e analizza in tempo reale le relazioni di causa-effetto tra gli eventi. Il CEP confronta continuamente gli eventi in arrivo con uno schema, fornisce informazioni su ciò che sta accadendo e permette di intraprendere proattivamente azioni efficaci.
Gli eventi complessi sono in genere legati a importanti eventi aziendali [come opportunità o minacce], con l'implicazione che verranno affrontati in tempo reale o almeno in qualcosa di prossimo al tempo reale.
Principali aree di applicazione dell'Elaborazione di eventi complessi [CEP]:
- Monitoraggio delle attività aziendali per identificare problemi e opportunità nelle fasi iniziali attraverso il monitoraggio dei processi aziendali e di altre risorse critiche.
- Reti di sensori utilizzate per il monitoraggio di impianti industriali. Queste derivano generalmente da misurazioni numeriche grezze [ad esempio temperatura, fumo].
- Dati di mercato come prezzi di azioni o materie prime; devono essere derivati da diversi eventi e dalle loro relazioni attraverso il CEP.
Gli strumenti più comunemente utilizzati per l'Elaborazione di eventi complessi sono:
- Apache Spark Streaming utilizzato da Databricks
- Apache Flink utilizzato da Data Artisans
- Apache Samza utilizzato da LinkedIn
- Apache Storm utilizzato da 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 e Stream Explore
L'Elaborazione di eventi complessi viene utilizzata principalmente per soddisfare i seguenti requisiti: La latenza deve essere bassa. Il tempo tra l'arrivo di un evento e la sua elaborazione deve essere minimo. Di solito ci si aspetta che sia inferiore a pochi millisecondi, ma in alcuni casi può essere inferiore a un millisecondo. Il volume degli eventi in ingresso al secondo è elevato. Tipicamente, possiamo aspettarci centinaia o addirittura migliaia di eventi al secondo. Gli schemi degli eventi da rilevare sono complessi. Possono ad esempio essere basati su relazioni temporali o spaziali.