Tempi di elaborazione dei Big Data

Qualsiasi dispositivo ormai è in grado di acquisire e trasmettere una mole consistente di informazioni che prima o poi dovranno essere elaborate per ottenere un risultato. I tempi di elaborazione sono divenuti un elemento fondamentale ed esistono diverse metodologie per la corretta gestione dei processi di elaborazione, in funzione dell'esigenza dei dati da elaborare per l'attuazione di processi decisionali, nonché la semplificazione delle informazioni da trasmettere e inviare. A seconda del contesto applicativo, ad esempio IoT, financial, medicale o automotive, l’elaborazione real-time dei dati deve fare i conti con le risorse computazionali ed energetiche del dispositivo. In questo articolo andremo ad osservare le tecniche più diffuse per la gestione di elaborazioni real-time con Big Data.

Introduzione

L'avvento dei cosiddetti Big Data non ha apportato alcuna innovazione dal punto di vista della capacità di archiviare dati, ma sicuramente la capacità di trarre dei risultati e informazioni significative dalla mole di dati, garantendo processi elaborativi rapidi, flessibili e, soprattutto, economici grazie all’automatizzazione dell’analisi. Così, tutte le informazioni che sono state acquisite in formato digitale nei decenni precedenti all'era dei Big-Data, ora possono avere uno scopo congiuntamente alla mole di dati che giorno dopo giorno, o meglio istante dopo istante, viene continuamente acquisita: dalle preferenze di acquisto sui siti e-commerce al comportamento dei clienti all'interno degli store fisici, dai dati di guida degli autoveicoli alla gestione del traffico sui servizi di navigazione (ad esempio Google Maps), e tante altre informazioni in ogni luogo, ogni contesto e qualsivoglia applicazione. La definizione di Big Data è ancora un concetto abbastanza astratto in quanto include differenti tipologie di dati e strutture. Di fatto, la definizione più generale si riferisce a:

Una “raccolta di dati e informazioni” ottenuta in un determinato intervallo di tempo con l’ausilio di piattaforme hardware/software che svolgono l’attività di acquisizione, elaborazione e gestione dei dati stessi.

Caratteristiche informative dei Big Data

La necessità di dare un senso a queste informazioni acquisite e la necessità di ottenere dei risultati dall'elaborazione in termini accettabili (o anche compatibili con l'applicazione) ha spinto il settore tecnologico e dei servizi ad una crescita più che esponenziale di tecniche, metodologie, approcci e funzionalità di analisi dei Big Data. Seppur sembra banale, il percorso di sviluppo dell'analisi dei Big Data non è semplice a causa della natura complessa dei dati. Questi ultimi, che sono l'elemento fondamentale dell'elaborazione, sono il risultato dei processi di acquisizione da sorgenti eterogenee, spesso senza alcuna organizzazione in struttura o quant’altro. Ciò comporta la necessità di una fase di pre-processing dei dati affinché questi possano essere "formattati” o comunque adattati ai processi automatici di elaborazione ed estrazione dei risultati. I parametri che caratterizzano la raccolta di dati sono 3:

  • volume dei dati (una quantità enorme e non processabile con i processi standard)
  • velocità (ossia quanti dati vengono acquisiti)
  • varietà (tipologia dei dati)

Proprio per la varietà della tipologia dei dati, a causa di differenti sorgenti degli stessi, otteniamo una complicazione nella generazione del flusso di dati da inviare come input ai processi di elaborazione decisionale. Infatti, in questo caso specifico la sfida si complica in quanto i dati raccolti all’interno del flusso presentano caratteristiche tra di esse eterogenee. Inoltre, se i dati non sono strutturati, per poter procedere all’elaborazione real-time è necessario procedere a fasi di astrazione dei dati. Il concetto di Data Abstraction è un passo fondamentale per garantire la corretta gestione dei Big Data (e dei risultati dei processi di elaborazione applicata ad essi). Infatti, tra questi aspetti rientra sicuramente anche la sfida dell’usabilità delle informazioni, basata sui seguenti principi basilari:

  • visibilità: la corretta visualizzazione dei dati che può avvenire su larga scala o anche in tempo reale in funzione delle esigenze dell'utilizzatore dei dati;
  • mappatura: direttamente collegata alla capacità di elaborazione dei Big Data, a maggior ragione se in tempo reale;
  • feedback: gestione di riscontri da parte dell’utente finale sul risultato del processo di elaborazione, fondamentale per intervenire tempestivamente su divergenze dei processi di elaborazione.

La corretta gestione dei dati su larga scala attraverso i processi di Data Abstraction porta ad un processo di eliminazione delle informazioni inutili (detto anche processo di pulizia). Quindi, come cogliere la correlazione tra dati e determinare con precisione l'utilità e l'efficacia dei dati, diventa una seria sfida per chi è chiamato ad implementare gli algoritmi di elaborazione ed estrazione dei dati.

Il tempo come valore nei processi real-time

La definizione di real-time è una delle definizioni “generiche” che si utilizzano nel mondo tecnologico. Quando parliamo di real-time intendiamo un’unità di tempo ben precisa? Un secondo, un millisecondo, un micro secondo o cosa? Nulla di più sbagliato. Spesso tendiamo ad associare la definizione di real-time a qualcosa che duri un breve tempo, pochi millisecondi. Una definizione ben fatta è quella anglosassone riportata dal COBUILD Advanced English Dictionary (link alla definizione):

If something is done in real time, there is no noticeable delay between the action and its effect or consequence.

Applicando questa definizione ad un generico sistema capiamo benissimo che questo è real-time quando il ritardo tra la decisione (effetto) e l’azione (acquisizione dei dati) è praticamente trascurabile. La trascurabilità non può essere definita a priori ma semplicemente dall’applicazione del sistema. Un esempio pratico è il seguente:

Il sistema di bordo di un veicolo a guida autonoma prende decisioni in real-time. Alla velocità di 100 km/h percorre circa 27,7 m/s, ossia 2,77 cm in 1 millisecondo. Quindi è accettabile avere un processo decisionale al millisecondo, o anche 10 ms (equivalenti ad uno spostamento di 30 cm).

E’ ovvio che se il sistema si applica ad un razzo che raggiunge velocità di oltre 1000 km/h non è più possibile prendere decisioni con un processo a 10 ms ma bisognerà scendere abbondantemente al di sotto dei millisecondi. Si dice che il significato di real-time varia in funzione del contesto in cui il sistema viene utilizzato. Per il contesto dei Big Data il tempo reale si trasforma in applicazioni abbastanza veloci per il processo decisionale richiesto. All’interno dei sistemi di elaborazione, la denotazione di real-time corrisponde di fatto ad un’architettura del sistema capace di elaborare gli input senza dover memorizzare i dati all’interno di strutture tipo database. Infatti, nella stragrande maggioranza delle applicazioni di elaborazione di Big Data, il risultato è destinato alle persone. Questo vuol dire che per produrre il risultato della ricerca su Google non è necessario che questa avvenga in 10 ms, ma anche l’ordine di un secondo è più che soddisfacente come velocità di elaborazione “real-time”. L’applicazione di algoritmi di elaborazione in real-time dei Big Data è di fondamentale importanza laddove l’analisi dei dati è fondamentale per garantire la sicurezza dei processi o dei dati. Nei sistemi real-time il tempo è un valore associato alle informazioni stesse: con il passare del tempo l’elaborazione di una data informazione può diventare inutile in quanto il risultato non è più necessario o applicabile. Per applicare un processo di tipo real-time è necessaria anche una fornitura continua degli ingressi per mantenere il processo costante e produrre i dati di output. Le modalità di trattamento dei dati comprendono principalmente due tipologie:

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 1958 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend