Stream Processing

Stream Processing

La maledizione della conoscenza di Camerer e Lowenstein
La maledizione della conoscenza di Camerer e Lowenstein
27 Gennaio 2021
Stili di leadership: il leader incalzante
3 Febbraio 2021

L’elaborazione dei flussi è la pratica di agire su una serie di dati contestualmente al momento della creazione dei dati.

Storicamente si parla di elaborazione in tempo reale per riferirsi in generale a dati che vengono elaborati con la frequenza necessaria per un particolare caso d’uso.

Ora, con l’avvento e l’adozione di tecnologie e framework per l’elaborazione degli stream, insieme alla diminuzione dei prezzi delle memorie solide, l’elaborazione degli stream viene utilizzata in modo più specifico.

L’elaborazione degli stream comporta spesso più attività sulla serie di dati in entrata, il flusso di dati, che possono essere eseguiti in serie, in parallelo o in entrambe le modalità.

Tale flusso di lavoro costituisce una pipeline per l’elaborazione dei flussi, che comprende la generazione dei dati, l’elaborazione dei dati e la consegna dei dati ad una collocazione finale.

Le azioni che l’elaborazione del flusso assume sui dati includono:

  • Aggregazioni (ad esempio calcoli come somma, media, deviazione standard);
  • Analisi (ad esempio prevedere un evento futuro basato su modelli nei dati);
  • Trasformazioni (ad esempio, cambiare un numero in un formato di data);
  • Arricchimento (ad esempio, combinare il punto di dati con altre fonti di dati per creare più contesto e significato);
  • Ingestione (ad esempio, inserire i dati in un database).

 

Stream Processing.

Figura 1 – Stream Processing.

Come funziona l’elaborazione degli stream

L’elaborazione degli stream viene applicata il più delle volte ai dati che vengono generati come una serie di eventi, come i dati dei sensori IoT, i sistemi di elaborazione dei pagamenti e i log dei server e delle applicazioni.

I paradigmi comuni includono publisher/subscriber (comunemente chiamato pub/sub) e source/sink. I dati e gli eventi sono generati da un publisher o da un subscriber e consegnati a un’applicazione di elaborazione di flussi, dove i dati possono essere aumentati, testati con algoritmi di rilevamento delle frodi, o trasformati in altro modo, prima che l’applicazione invii il risultato a un source/sink.

Dal punto di vista tecnico, le source e i sink più comuni sono Apache Kafka®, grandi repository di dati come Hadoop o TCP Socket.

Ambiti di applicazione

I casi d’uso tipicamente riguardano dati di eventi generati da una determinata azione e sui quali dovrebbe immediatamente verificarsi una reazione.

I casi d’uso comune per l’elaborazione di flussi in tempo reale includono:

1 Individuazione di frodi e anomalie in tempo reale

Uno dei maggiori fornitori di carte di credito al mondo è stato in grado di ridurre le frodi subite di 800 milioni di dollari all’anno grazie al rilevamento di frodi e anomalie attuato con lo stream processing.

I ritardi nell’elaborazione delle carte di credito sono dannosi per l’esperienza sia del cliente finale che del negozio che tenta di elaborare la carta di credito.

Storicamente, i fornitori di carte di credito hanno eseguito i loro lunghi processi di rilevamento delle frodi in modo batch dopo l’operazione. Con l’elaborazione in streaming, non appena si striscia la carta, sono in grado di eseguire algoritmi accurati per riconoscere e bloccare le spese fraudolente e attivare avvisi per le spese anomale che meritano un’ulteriore ispezione, senza far attendere i loro clienti.

2 Internet delle cose (IoT)

Le aziende del settore manifatturiero, come tutte quelle previste dalla Direttiva NIS, sfruttano l’elaborazione dei flussi di dati gestire i dati di miliardi di oggetti.

Un esempio di analisi dei dati dell’IoT è il rilevamento di anomalie nella produzione che indicano problemi che devono essere risolti per migliorare le operazioni e aumentare i rendimenti. Con l’elaborazione dei flussi in tempo reale, un produttore può riconoscere che una linea di produzione sta rilevando troppe anomalie proprio mentre ciò si sta verificando. Ciò comporta enormi risparmi perché, invece di avere uno stock di produzione difettoso magari dovuto ad un intero giorno di produzione, si può mettere immediatamente in manutenzione la linea.

 

3 Personalizzazione, marketing e pubblicità in tempo reale

Con l’elaborazione di flussi in tempo reale, le aziende possono fornire esperienze personalizzate e contestuali per i loro clienti.

Questo può includere uno sconto per qualcosa che hai aggiunto a un carrello su un sito web, ma che non hai immediatamente acquistato, una raccomandazione per connettersi con un amico appena registrato su un sito di social media o una pubblicità per un prodotto simile a quello appena visto.

 

Elaborazione dello stream ed elaborazione in batch

Storicamente i dati venivano elaborati in batch sulla base di un programma o di una soglia predefinita; ad esempio ogni notte, ogni cento righe o ogni volta che il volume raggiunge una predeterminata dimensione.

Il volume e la frequenza di generazione dei dati è oggi talmente aumentato che l’elaborazione in batch non è sufficiente.

L’elaborazione in streaming è diventata un must per le applicazioni moderne. Le organizzazioni si sono rivolte a tecnologie che rispondono ai dati nel momento in cui questi vengono creati per una enorme varietà di casi d’uso e applicazioni.

L’elaborazione degli stream permette alle applicazioni di rispondere a nuovi dati nel momento in cui si generano. Piuttosto che raggruppare i dati e raccoglierli in un intervallo di tempo prestabilito, le applicazioni di elaborazione stream processing, raccolgono ed elaborano i dati immediatamente man mano che vengono generati.

Condividi su:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

EnglishFrenchGermanItalianRussianSpanish