Un lampo, un tuono, una goccia d’acqua sul braccio: associando questi dati, il nostro sistema cognitivo corpo-mente deduce che è in arrivo un temporale. E ancora: sirene dell’ambulanza, corpi a terra, auto danneggiate ci fanno dedurre che siamo davanti alle conseguenze di un incidente stradale. Per capire in tempo reale cosa sta succedendo, inseriamo i dati che ci arrivano dai nostri sensi in pattern socio-culturali più o meno condivisi. Più questi pattern, o modelli, sono radicati, meno fatica facciamo ad attivare delle risposte. Sullo stesso meccanismo si basa il Complex Event Processing.
Il temporale, l’incidente stradale sono infatti esempi di eventi complessi, risultato di interazioni non-lineari tra diverse variabili che generano a loro volta altre interazioni non lineari. E individuare gli eventi complessi dai dati in tempo reale è l’obiettivo del Complex Event Processing (CEP).
Che cos’è il Complex Event Processing?
Il Complex Event Processing, o elaborazione di eventi complessi, è un tipo di elaborazione di alto livello, che deduce in tempo reale dai dati grezzi cosa sta succedendo. Ovvero, l’evento complesso a cui gli stessi dati appartengono.
Il CEP, infatti, interroga i dati prima di memorizzarli, o, in alcuni casi, senza memorizzarli affatto all’interno del database: i dati in arrivo vengono filtrati, “distillati” tra irrilevanti e rilevanti rispetto ai pattern/modelli di riferimento conosciuti dal sistema.
Se i dati vengono considerati rilevanti, vengono aggregati, e correlati attraverso la scoperta delle relazioni esistenti tra loro: prima-dopo, causa-effetto.
Il CEP è in grado di analizzare dati che provengono da diverse serie temporali, quindi non ordinati nel tempo, e con diversi livelli di astrazione contemporaneamente.
Una volta individuato il modello a cui i dati appartengono, e dedotto quindi il contesto/evento complesso, è possibile prendere decisioni utili in tempo reale.
Video: Data Insights GmbH – Complex Event Processing – Inglese
Differenza tra Complex Event Processing (CEP) e Event Stream Processing (ESP)
Sebbene spesso vengano usati come sinonimi, il Complex Event Processing è una versione più evoluta dell’Event Stream Processing, l’elaborazione di flussi di eventi.
Infatti, se entrambe analizzano i dati in tempo reale, le applicazioni ESP generalmente si dedicano ad un singolo flusso di dati e, al contrario del CEP, non includono la deduzione del rapporto causa-effetto né la gerarchizzazione dei dati in arrivo.
Qual è l’area di applicazione del CEP: casi studio ed esempi
Il CEP è molto utile nel monitoraggio continuo e nella detection, ovvero il rilevamento delle anomalie.
Viene spesso integrato con il Business Process Management, ovvero la gestione dei processi aziendali, ma il CEP, al contrario del BPM, non si occupa dei singoli processi end-to-end ma di collegare processi separati: soprattutto, di individuare come le interazioni tra di loro possano generare conseguenze potenzialmente inaspettate.
Un’efficace integrazione tra CEP e BPM può avvenire quindi solo se, dal punto di vista tecnologico, viene sviluppata una buona interoperabilità tra piattaforme. Ma soprattutto, solo se l’azienda sposa la cultura dell’approccio olistico, capace di vedere l’impatto di ogni singolo processo nel sistema e viceversa.
IoT e manutenzione predittiva
Il Complex Event Processing viene molto utilizzato nel monitoraggio IoT. L’elaborazione in tempo reale dei dati eterogenei provenienti dalla rete di sensori per essere efficiente deve essere dinamica, così come abilitato dalla CEP.
Un esempio è l’ottimizzazione dei consumi energetici in un edificio, domestico o industriale: i dati su temperatura, periodo dell’anno e meteo possono far dedurre in tempo reale l’illuminazione o il riscaldamento più consono all’ambiente.
Un altro esempio è la prevenzione delle intrusioni, attraverso la correlazione dei dati dei sensori di prossimità e delle videocamere di sorveglianza.
Non ultima, la manutenzione predittiva, ovvero la possibilità di predire il guasto ai macchinari prima che accada, attraverso la correlazione dei dati su tempi e intensità d’uso.
Rilevamento delle frodi
Il CEP viene utilizzato moltissimo per prevenire le frodi con carta di credito attraverso il monitoraggio continuo delle transazioni bancarie.
Ogni transazione diventa un dato in arrivo, a sua volta composto da diversi elementi: l’ammontare dell’importo, l’orario della transazione, l’autenticazione dell’emittente attraverso dispositivi e password. Il cambio di password e un orario inconsueto di transazione sono due indizi nel modello che identifica la possibile frode in corso. E più avvisi di frode possono indicare una violazione dell’intero sistema.
Trading azionario
Il CEP si utilizza per supportare gli algoritmi di trading azionario, quindi la compravendita delle azioni. Infatti, è uno strumento utile per prevedere l’andamento dei prezzi, incrociandoli con i volumi delle transazioni in corso.
Marketing in tempo reale
La personalizzazione dell’esperienza di acquisto passa spesso dal CEP: il Complex Event Processing consente infatti di correlare dati che provengono da fonti diverse come l’attività sui social, i precedenti acquisti sull’e-commerce, le abitudini durante periodi diversi dell’anno.
Logistica 4.0
Le piattaforme che tracciano i movimenti delle merci, ad esempio tramite l’apposizione di un etichetta/tag RFID su ogni prodotto, si basano su sistemi CEP. Infatti, è il Complex Event Processing che consente di capire, in base alla posizione degli articoli, i volumi in transito e i tempi abituali, se la consegna arriverà in ritardo ed è necessario generare un alert agli interessati.
Perché è importante il CEP: vantaggi e benefici
Il CEP consente di capire in tempo reale l’evento complesso in corso e attivare le risposte più adatte ad affrontarlo.
Tra i vantaggi:
- L’elaborazione a bassa latenza: tra l’arrivo del dato e il risultato dell’analisi passano pochi millisecondi, a volte anche meno. In un secondo vengono elaborati centinaia di dati, migliaia nei prodotti più performanti.
- Le inferenze di alto livello: l’utilizzo delle correlazioni causali e delle gerarchie concettuali consentono di individuare l’evento complesso in corso di svolgimento. Anche se è il risultato di combinazioni di variabili che agiscono in tempi diversi e in contesti diversi.
- La costruzione di un’architettura event-driven, ovvero basata sull’elaborazione complessa dei dati in tempo reale
Video : IBM Technology – What is Event Driven Architecture (EDA)? – Inglese
Complex Event Processing: quali sono i migliori tool
- Amazon Kinesis Analytics
- Apache Flink
- Apache Samza
- Apache Spark Streaming
- Apache Storm
- Confluence
- Fujitsu Software Interstage Big Data Complex Event Processing Server
- Hadoop/MapReduce
- IBM Streams
- Microsoft Azure Stream Analytics
- Oracle Stream Analytics e Stream Explore