Cos'è l'elaborazione in batch?

L'elaborazione in batch è il metodo utilizzato dai computer per completare periodicamente processi di elaborazione dati ripetitivi e con volumi elevati. L'esecuzione di alcune attività complesse di elaborazione dei dati, come il backup, il filtraggio e l'ordinamento, potrebbe risultare inefficiente su singole transazioni di dati. Per questo motivo, i sistemi di dati elaborano tali attività in batch, spesso in orari non di punta (ad esempio alla fine della giornata o durante la notte) ovvero quando le risorse di calcolo sono generalmente più disponibili. Si pensi, ad esempio, a un sistema di e-commerce che riceve ordini nel corso della giornata. Invece di elaborare ogni ordine man mano che si riceve, il sistema potrebbe raccogliere tutti gli ordini alla fine di ogni giornata e condividerli in un'unica batch con il team di evasione degli ordini.

Perché l'elaborazione in batch è così importante?

Le organizzazioni utilizzano l'elaborazione in batch poiché richiede una minima interazione umana e rende più efficiente l'esecuzione di attività ripetitive. È possibile configurare batch di processi, composti da milioni di record, per elaborarli insieme nel momento in cui è disponibile una maggiore potenza di calcolo, riducendo quindi lo stress sui sistemi. La moderna elaborazione in batch richiede inoltre una supervisione o una gestione minima da parte del personale. Se si verifica un problema, il sistema avvisa automaticamente il team interessato affinché provveda alla sua risoluzione. I manager adottano un approccio di non intervento, confidando che il software di elaborazione in batch svolga il suo lavoro. Di seguito sono riportati altri vantaggi dell'elaborazione in batch.

Come nasce l'elaborazione in batch?

L'elaborazione in batch è un'attività ultracentenaria, sebbene gli aspetti tecnici del suo funzionamento si siano continuamente evoluti. Il primo esempio di elaborazione in batch risale al 1890, quando venne utilizzato un tabulatore elettronico per registrare le informazioni dell'ufficio del censimento degli Stati Uniti d'America. Gli addetti al censimento contrassegnavano le schede di dati, dette schede perforate, e le elaboravano in batch attraverso un dispositivo elettromeccanico. Negli anni '60 gli sviluppatori erano in grado di configurare i programmi in batch su nastro magnetico, per farli eseguire in sequenza dai computer durante la giornata. L'utilizzo dei processi batch divenne comune anche grazie al miglioramento dei mainframe, sempre più potenti ed efficienti. Le organizzazioni moderne utilizzano applicazioni batch basate su software per processi aziendali comuni come la generazione di report, la stampa di documenti o l'aggiornamento delle informazioni alla fine della giornata.

Quali sono gli esempi di processi che è possibile automatizzare con l'elaborazione in batch?

I sistemi di elaborazione in batch vengono utilizzati per elaborare vari tipi di dati e richieste. Le attività di elaborazione in batch includono:

  • Fatturazione settimanale/mensile
  • Libro paga
  • Elaborazione dell'inventario
  • Generazione di report
  • Conversione dei dati
  • Cicli di abbonamento
  • Evasione degli ordini della catena di distribuzione

Quali sono alcuni casi d'uso dei sistemi di elaborazione in batch?

I casi d'uso dei sistemi di elaborazione in batch sono molteplici. Di seguito sono riportati alcuni esempi significativi.

Servizi finanziari

Le organizzazioni che operano nel settore dei servizi finanziari, dalle aziende agili di tecnofinanza a quelle tradizionali, utilizzano le elaborazioni in batch in aree come il calcolo ad alte prestazioni per la gestione del rischio, l'elaborazione delle transazioni di fine giornata e il controllo delle frodi. Tali aziende utilizzano l'elaborazione in batch per ridurre al minimo l'errore umano, aumentare velocità e accuratezza e ridurre i costi attraverso l'automazione.

Software come servizio (SaaS)

Nelle aziende che distribuiscono applicazioni Software come servizio (SaaS) si verificano spesso problemi di scalabilità. L'elaborazione in batch consente di scalare la richiesta dei clienti automatizzando la programmazione dei lavori. La creazione di ambienti applicativi containerizzati per scalare la domanda di elaborazione di grandi volumi è un progetto che può richiedere mesi o addirittura anni per essere completato. I sistemi di elaborazione in batch, tuttavia, consentono di ottenere lo stesso risultato in tempi molto più brevi.

Ricerca medica

L'analisi di grandi quantità di dati, o big data, è un requisito comune nel campo della ricerca. È possibile applicare l'elaborazione in batch in applicazioni di analisi dei dati come chimica computazionale, modellazione clinica, dinamica molecolare e analisi e test del sequenziamento del genoma. I ricercatori scientifici utilizzano l'elaborazione in batch per ottenere ad esempio dati migliori per la progettazione di nuovi farmaci e informazioni più dettagliate sul ruolo di un processo biochimico specifico. 

Media digitali

Le aziende del settore multimediale e dell'intrattenimento richiedono sistemi di elaborazione in batch altamente scalabili al fine di elaborare automaticamente i dati, come file, grafica ed effetti visivi, per contenuti video ad alta risoluzione. È possibile utilizzare l'elaborazione in batch per velocizzare la creazione di contenuti, scalare dinamicamente la pacchettizzazione dei contenuti multimediali e automatizzare i carichi di lavoro multimediali.

Come funziona l'elaborazione in batch?

Sebbene le applicazioni di elaborazione in batch varino a seconda del tipo di attività da eseguire, le basi di qualsiasi processo batch sono le stesse. L'utente può eseguire i processi in batch specificando i dettagli seguenti:

  • Nome della persona che invia il processo
  • Processi o programmi batch da eseguire
  • Percorso del sistema per l'input dati
  • Percorso del sistema per l'output dei dati elaborati
  • Ora, o finestra batch, in cui il processo batch deve essere eseguito

L'utente specifica inoltre le dimensioni del batch o il numero di unità di lavoro che il sistema deve elaborare in un'unica operazione batch completa. Alcuni esempi di dimensioni del batch includono: 

  • Numero di righe di file batch da leggere e archiviare nel database
  • Numero di messaggi da leggere ed elaborare da una coda
  • Numero di transazioni da ordinare e inviare all'applicazione successiva

Durante la finestra batch, il sistema di elaborazione in batch utilizza le informazioni sulle dimensioni del batch per allocare le risorse necessarie per eseguire il processo batch in modo efficiente. I sistemi moderni possono eseguire centinaia di migliaia di processi batch on-premise o nel cloud.

Dipendenze

Le attività dei processi batch possono essere eseguite in sequenza o contemporaneamente. Le sequenze possono variare a seconda che un'attività precedente sia stata completata o meno. Come esempio di dipendenza, si pensi a un cliente che effettua un ordine in un negozio online o che paga una fattura. È inoltre possibile configurare una dipendenza in modo da avviare un ciclo di elaborazione dei processi.

Comandi cron

Un comando cron è un processo batch che viene eseguito regolarmente. È possibile impostare modelli di ricorrenza per i processi in batch, ad esempio impostando un processo per fatturare gli abbonamenti alla fine di ogni mese.

Come si può monitorare l'elaborazione in batch?

Sebbene i sistemi di elaborazione in batch funzionino con un input minimo da parte del personale, necessitano comunque di una certa supervisione. Per monitorare i processi in batch, è possibile impostare avvisi o eccezioni che vengono inviati quando il processo in batch ha esito positivo, non riesce o ha terminato l'esecuzione.

Monitor

I monitor nei processi in batch cercano anomalie, ad esempio un lavoro il cui completamento richiede più tempo del dovuto. In questo caso, interromperebbe l'inizio del lavoro successivo e informerebbe il personale competente dell'eccezione.

Analisi post-elaborazione

È possibile visualizzare la cronologia di un processo in batch dopo che è stato elaborato. La maggior parte dei processi in batch include file di registro che registrano i messaggi durante l'esecuzione del processo.

Qual è la differenza tra l'elaborazione in batch e l'elaborazione in streaming?

Mentre i sistemi batch elaborano grandi volumi di dati e richieste in ordine sequenziale, l'elaborazione in streaming analizza continuamente i dati che fluiscono attraverso un sistema o tra dispositivi. L'elaborazione in streaming monitora i dati in tempo reale e li trasmette continuamente nella rete. Richiede una maggiore potenza di elaborazione per monitorare grandi quantità di dati.

Quando la dimensione dei dati trasmessi in streaming non è nota o infinita, lo streaming dei dati può essere preferibile all'elaborazione in batch. Di conseguenza, l'elaborazione in streaming viene comunemente utilizzata per funzioni aziendali quali sicurezza informatica, Internet delle cose (IoT), servizi di marketing personalizzati e monitoraggio dei registri.

Date le loro capacità complementari, alcune aziende hanno implementato un sistema ibrido che include l'elaborazione in batch e l'elaborazione in streaming nelle loro operazioni quotidiane.

In che modo AWS può essere utile per l'elaborazione in batch?

Con Batch AWS è possibile risparmiare fino al 90% sull'elaborazione in batch completamente gestita. Batch AWS esegue il provisioning dinamico della quantità e del tipo ottimali di risorse di elaborazione, come CPU o istanze ottimizzate per la memoria ed elimina la necessità di installare e gestire l'infrastruttura del sistema di elaborazione in batch. È possibile dedicare meno tempo alla gestione dell'infrastruttura e più tempo all'analisi dei risultati e alla risoluzione dei problemi.

È possibile eseguire i carichi di lavoro in batch su istanze spot di Amazon Elastic Compute Cloud (Amazon EC2). Le istanze spot di Amazon EC2 sono la capacità inutilizzata di Amazon EC2 disponibile con uno sconto fino al 90% rispetto ai prezzi delle istanze on demand. Le istanze spot sono ideali per le applicazioni di elaborazione in batch perché è possibile eseguire carichi di lavoro iperscalabili con un notevole risparmio sui costi oppure accelerare i carichi di lavoro eseguendo attività parallele.

Inizia oggi stesso a usare l'elaborazione in batch creando un account AWS.

Fasi successive con l'elaborazione in batch in AWS

Scopri ulteriori risorse correlate al prodotto
Ulteriori informazioni sui servizi di calcolo 
Registrati per creare un account gratuito

Ottieni accesso immediato al Piano gratuito di AWS.

Crea un account gratuito 
Inizia subito a lavorare nella console

Comincia a lavorare con Batch AWS nella console di gestione AWS.

Accedi