Apache Flink - Elaborazione batch vs elaborazione in tempo reale
In termini di Big Data, esistono due tipi di elaborazione:
- Elaborazione in lotti
- Elaborazione in tempo reale
L'elaborazione basata sui dati raccolti nel tempo è denominata Elaborazione batch. Ad esempio, un direttore di banca desidera elaborare i dati relativi a un mese precedente (raccolti nel tempo) per conoscere il numero di assegni annullati nell'ultimo mese.
L'elaborazione basata su dati immediati per risultati immediati è denominata elaborazione in tempo reale. Ad esempio, un direttore di banca che riceve un avviso di frode immediatamente dopo che si è verificata una transazione di frode (risultato immediato).
La tabella riportata di seguito elenca le differenze tra elaborazione in batch e in tempo reale -
Elaborazione in lotti | Elaborazione in tempo reale |
---|---|
File statici |
Flussi di eventi |
Elaborato periodicamente in minuti, ore, giorni ecc. |
Elaborato immediatamente nanosecondi |
Dati passati su archiviazione su disco |
Nella memoria di archiviazione |
Esempio: generazione di fatture |
Esempio: avviso di transazione bancomat |
In questi giorni, l'elaborazione in tempo reale viene utilizzata molto in ogni organizzazione. Casi d'uso come il rilevamento di frodi, avvisi in tempo reale nel settore sanitario e avvisi di attacchi di rete richiedono l'elaborazione in tempo reale di dati istantanei; un ritardo anche di pochi millisecondi può avere un impatto enorme.
Uno strumento ideale per tali casi d'uso in tempo reale sarebbe quello che può inserire dati come flusso e non come batch. Apache Flink è quello strumento di elaborazione in tempo reale.