La spazzatura dei big data: le sfide della IoT analytics e dello storage

Occorre creare un modello per generare pattern di dati utili, che valga la pena preservare e curare, separandoli dal rumore di fondo, che deve essere cancellato. La conservazione non può essere solo una questione d’immagazzinamento e di gestione efficiente, deve essere anche di memoria e comprensione

Pubblicato il 08 Lug 2020

Manuel Salvi

GRC Team S.r.l.

Storm Reply: ecco il cloud IoT per Eurogate

C’è una slide del Clusit (Associazione italiana per la sicurezza informatica) che mostra tre blocchi rossi affiancati nei quali vi sono i seguenti testi: “L’IoT raccoglie miliardi di dati”, “Il big data li conserva”, “L’AI li usa”; un box lungo e stretto a mo’ di piedistallo per i tre precedenti box recita: “Il Cloud abilita tutto”.

Potrebbe riassumere ciò di cui intendiamo parlare in questo articolo.

Enormi moli di dati da analizzare

I dispositivi IoT (Internet of Things), IoE (Internet of Everythings) e IoNT (Internet of Nanothings) producono una quantità di dati inimmaginabile, creando immensi ammassi (databulk) spesso inutilizzati. “Metà dei nostri dati sono spazzatura, il fatto è che non sappiamo quale metà”, afferma Luciano Floridi. Senza una corretta applicazione di Big Data Analitycs, questa enorme quantità di dati oltre a essere una mancata opportunità è un enorme sovraccosto e sovraccarico del sistema.

La sfida è creare un modello per creare pattern di dati utili, che valga la pena preservare e curare, separandoli dal rumore di fondo, che al contrario deve essere cancellato.

La conservazione, infatti, non può essere solo una questione d’immagazzinamento e di gestione efficiente, ma anche di memoria e comprensione.

L’evoluzione tecnologica e l’obsolescenza dei sistemi di archiviazione sono una costante minaccia alla nostra memoria digitale. L’incapacità di identificare pattern o blocks di informazioni all’interno dell’ammasso indistinto di dati ci preclude opportunità, rendendoci ciechi alla comprensione di fenomeni o dinamiche sconosciuti.

Molti vedono nel cloud la soluzione a tutti i problemi relativi alla gestione e conservazione dei big data. Nel breve periodo e su specifiche istanze, il cloud è la soluzione più sicura, efficiente, elastica e scalabile. Nel lungo periodo e relativamente alla produzione globale di dati generati da oggetti interconnessioni è solo un trasferimento del problema da un infrastruttura a un’altra.

Raccogliere, gestire e analizzare enormi volumi di dati non è un compito facile.

La quantità di dati cresce globalmente a livello vertiginoso. La natura dei dati non è omogenea, essendovi molteplici variabili, modelli, fonti, formati. I dati possono essere strutturati o destrutturati. Gli stessi metodi di analisi basati su specifici formati o modelli di dati possono limitare potenzialmente la capacità di comprendere i dati stessi, poiché la chiave di analisi modifica e interpreta l’esito dell’analisi stessa.

I data warehouse organizzativi non sono in grado di polarizzare dati non strutturati. Di conseguenza, è necessario lo sviluppo di soluzioni che consentano l’archiviazione e l’analisi di dati destrutturati. Tale conversione attraverso schemi, modelli e tabelle relazionali, sarebbe un enorme perdita di tempo. L’uso della tecnologia per creare infrastrutture analitiche è pero limitante poiché riduce la capacità di analisi e, in pratica, minimizza il potenziale di una possibile creazione di valore.

Dall’altro canto il processo di analisi e strutturazione di enormi volumi di dati eterogenei, con l’obiettivo di elaborarli, archiviarli e trarne valore è imprescindibile.

L’obiettivo della IoT analytics

“Stiamo affogando nelle informazioni ma morendo di fame per la conoscenza”, J. Naisbitt. L’obiettivo della IoT Analytics è ottenere valore da grandi volumi di dati generati da un’infinita tipologia di dispositivi collegati a Internet quali sensori su apparecchiature di produzione industriale e manufatturiere (Industrial IoT – IIoT), da condutture, stazioni meteorologiche, contatori intelligenti, mezzi, vendita al al dettaglio, nella sanità, in agricoltura e moltissimi altri settori in continua crescita quali AR (Augmented Reality) e VR (Virtual Reality), dispositivi indossabili, domotica, assistenti digitali basati sull’intelligenza artificiale, veicoli autonomi, smartcity.

Databulk

I dati IoT sono un sottoinsieme dei big data e sono in costante crescita in volume, varietà e velocità (il modello 3V di D. Launey). Sono flussi eterogenei che devono essere trasformati e combinati per produrre informazioni attuali, complete e accurate per l’analisi e la reportistica aziendale. L’integrazione dei dati IoT è complessa, così come l’analisi che si basa su di essa, poiché, oltre alla variabili già espresse, vi è incompatibilità di fondo fra dispositivi e sistemi IoT.

Gli analytics atti a ricavare insight dai dati, possono avere diversi livelli di sofisticazione a seconda del grado di output richiesto, qui accennate partendo dalle più semplici:

  • Descriptive Analytics: descrive uno stato, monitorando il corretto funzionamento e allertando in caso di anomalie. In pratica misura lo scarto da parametri standard.
  • Diagnostic Analytics: evidenzia correlazioni e tendenze di un processo o un impianto allo scopo di diagnosticare malfunzionamenti.
  • Predictive Analytics: valuta la probabilità che qualcosa accada per intraprendere azioni correttive proattive, che evitino il verificarsi di un risultato indesiderato.
  • Prescriptive Analytics: suggerisce azioni basate sul risultato di una previsione o diagnosi.

L’obiettivo per ogni organizzazione dovrebbe essere divenire data-driven o meglio insight-driven, poiché significherebbe che i dati siano stati analizzati.

La Augmented Analytics democratizza la Data Science

Il KDD (Knowledge Discovery in Database) ha lo scopo di estrarre valore dalla spazzatura dei big data, individuando all’interno di una massa indistinta di dati, i pattern (associazioni, anomalie e schemi ricorrenti). È necessario infatti identificare l’obiettivo, preselezionare i dati utili per raggiungerlo, pulire e pre-elaborare i dati per separare gli utili dagli inutili. Successivamente è necessario convertirli nel formato più idoneo. Il Data Mining li estrae, quindi vengono interpretati e visualizzati un un formato comprensibile.

Il Data Mining individua classi (regole), regressioni (variabili), associazioni (nessi causali), sequenze (Fattore di correlazione sequenziale), serie storiche (variabili temporali), cluster (gruppi di elementi omogenei).

La AA (Augmented Analytics) aiuterà molto a poter valorizzare i dati. La AA è uno strumento che consente ai data scientist “non tecnici”, che non dispongono di competenze tecniche approfondite, di fare analisi dei dati. Grazie a un mix di tecnologie intelligenti, machine learning (ML) ed elaborazione del linguaggio naturale (NLP), la AA automatizzerà la gestione dei dati in ogni loro fase.

La AA ha tre vantaggi significativi:

  1. Mettere ordine: la maggior parte delle organizzazioni ha un’archiviazione dei dati inefficiente a silos con dati di formato e linguaggio diverso. Gli algoritmi intelligenti puliscono istantaneamente e continuamente, mettendo ordine nel caos dei dati, filtrano e raggruppano i dati in insiemi unificati, gettando le basi per un’analisi precisa.
  2. Fare luce: gli strumenti conducono valutazioni e individuano tendenze, schemi nascosti e anomalie; riducendo tempo e ore/lavoro.
  3. Automatizzazione: talvolta dare continuità alle analisi è più difficile della loro iniziale impostazione. La loro automatizzazione garantisce continuità.
  4. Democratizza: le analisi dei dati finora ha richiesto capacità e strumenti specifici e costosi mentre la AA può permettere a tutti di cimentarsi nell’analisi dei big data.

La ML, la capacità di apprendimento di una macchina, si basa su diversi tecniche di training. Il Supervisioned learning (apprendimento supervisionato) prevede la presenza di un umano che dia feedback positivi o negativi a ogni elaborazione, permettendo di raffinare il processo. Diversamente l’apprendimento non supervisionato addestrata la machina soltanto con input costituiti da selezionate tipologie di dati. Il Reinforcement Learning è tipico dell’ecommerce dove l’algoritmo impara a riconoscere le preferenze del consumatore dai suoi click, interpretandoli come dei “mi piace”.

Uno dei punti di forza del ML è la sua tolleranza ai cosiddetti dati “sporchi”: dati, cioè, che contengono record duplicati, campi analizzati male, oppure informazioni incomplete, errate o non aggiornate. Ciò ben si sposa con la necessità di fare pulizia nei big data.

Le NT – Neural Net (reti neurali) sono una delle possibili soluzioni per estrarre valore dai big data. Pur imitando le rete neurale del cervello umano le NT non riescono a raggiungerne le capacità, in quanto non processano la soluzione padroneggiandola, in tal caso parleremmo di AI (Artificial Intelligence) forte. Si limitano a ottenere un risultato (Ai debole) imitando esiti simili, coppiando oserei dire. L’esempio classico di NT sono i software di traduzione, che tutti utilizziamo. Google translate non sa tradurre, poiché non conosce le peculiarità ed eccezioni di ogni lingua a livello grammaticale, lessicale e semantico. Il software si limita a individuare, all’interno di un enorme mole di esempi di traduzioni, analogie e esempi, e per imitazione ci offre delle traduzioni.

La rete neurale è costituita da un insieme interconnesso di ‘nodi’ che imitano la rete di neuroni di un cervello biologico. Ogni nodo riceve un input, cambia il suo stato interno e di conseguenza produce un output. Questo output costituisce l’input per altri nodi e così via. Questa complessa disposizione consente una forma di calcolo molto potente chiamata DL – Deep Learning, o apprendimento approfondito.

Il DL utilizza più livelli di filtri per apprendere le caratteristiche significative di ciascun dato in un set di dati, e viene utilizzato sia nel riconoscimento delle immagini che in quello vocale. Usando una rete neurale, l’output di ciascun filtro fornisce l’input al successivo, e ciascun filtro opera a un livello diverso di astrazione. In tal modo, i sistemi di deep learning possono gestire set di dati molto più ampi rispetto ad altri approcci.

La RPA Robotic Process Automation dovrebbe essere l’inizio del percorso. Molte organizzazioni potrebbero sfruttare l’IoT iniziando dall’abc, senza doversi spingere fino alla AI. La RPA è semplicemente l’automazione di processi ripetitivi e di tutto ciò che riguarda le attività ordinarie e quotidiane. Analizzare e/o raccogliete serie di dati non necessità di particolare intelligenza. Nel caso, per esempio, di un processo aziendale in cui una persona debba trasferire manualmente i dati in un form standard da un sistema (o da un pezzo di carta) a un altro, il processo può essere facilmente automatizzato tramite RPA con un form di emulazione della tastiera.

Metà dei nostri dati sono spazzatura, attraverso l’analytics possiamo capire quale metà salvare e quale buttare.

Data Lake vs Data Base

Il flusso continuo di dati semi-strutturati o de-strutturati ha generato un grave problema di archiviazione e di gestione degli stessi, essendosi inoltre ampliata la platea di coloro che necessitano di accedere ai big data passando dall’iniziale categoria dei professionisti IT e di rete, a variegati team di analisi dei dati.

Il tradizionale lavoro di archiviazione in un database e analisi con strumenti SQL (Structured Query Language), BI (Business Intelligence) e strumenti di ricerca vari (es: ElasticSearch) sta diventando obsoleto o è già stato superato, sepolto sotto la montagna di dati, che aumentano di volume e velocità insieme alle loro richieste d’utilizzo per nuove e sempre più complesse analisi (es: dashboard, analisi operative, ML).

I database si basano su un formato dati proprietario ottimizzato per il proprio motore di query. Questa limitazione lato fornitore, obbliga le organizzazioni a scegliere tra due pessime opzioni: forzare il database esistente o duplicare i dati in un altro archivio creando ridondanza e possibili problemi di coerenza e affidabilità.

Negli ultimi anni abbiamo assistito alla nascita dell’architettura disaccoppiata, per far fronte alla necessita di avere soluzioni scalabili, economiche e agili, in cui i dati grezzi vengono archiviati in un modalità object storage e non più file hierarchy.

Questo approccio, chiamato Data Lake, permette di archiviare i dati mediante l’approccio Schema-on-read. I dati provenienti da fonti diversificate e disomogenee, sono archiviati nel loro formato nativo, o in una sua copia quasi esatta. Le policy di standardizzazione (tipologia, modalità, tempi e regole di inserimento) permettono di associare il dato nativo a un identificatore e a dei metadati per qualificarlo e quindi successivamente interrogarlo.

L’approccio tradizionale di Data Warehouse invece partendo da un set di dati grezzi, li struttura e processa attraverso l’approccio Schema-on-write, dove prima viene definita la struttura del database che deve ospitare i dati, poi i dati vengono scritti all’interno della struttura predefinita e, nel momento in cui sono prelevati per l’analisi, vengono restituiti nel formato predefinito.

Costi: la modalità tradizionale è costosa poiché lo stesso set di dati può essere replicato più volte se la struttura dei database è diversa per ognuna delle applicazioni di analisi utilizzate. Uno schema-on-write manca di elasticità poichè costringe a prevedere tutti le modalità d’uso a priori.

Al contrario l’utilizzo di metodi HDFS (Hadoop Distributed File System) in cloud tipici di un sistema Data Lake rende implicitamente infinito lo spazio disponibile per l’archiviazione dei dati.

Latenza: i dati in un Data Warehouse non sono disponibili in tempo reale a causa delle latenze integrate nei processi ETL (Extract/Trasformed/Load) mentre l’archiviazione di File Raw (grezzi, non elaborati) permette di evitare i ritardi ETL.

Ingorghi da machine learning: i database, creati per l’analisi OLAP (On.Line Analytical Processing), mal si adattano ai data scientist che desiderino creare modelli ML. I set di dati ML richiedono dati da diversi punti di archiviazione temporali, facilitano l’estrazione da un registro di sola aggiunta, piuttosto che da un archivio dati che consente aggiornamenti ed eliminazioni. Inoltre, i data scientist preferiscono utilizzare Python o Scala per costruire i loro set di dati e utilizzare funzionalità che sarebbe molto complicato creare in SQL.

Tuttavia pur avendo molti vantaggi i Data Lake hanno un problema: non sono data base!

I data base sono stati inventati proprio per consentire agli utenti un accesso facile ai dati, mentre la object storage è spesso disordinata, complessa e lenta.

Sono già presenti numerose soluzioni che cercano di creare un compromesso fra i due diversi approcci. AWS partendo dall’approccio Data Lake, attraverso modelli predefiniti, riduce il tempo dedicato alla scrittura di codice e integrazione di servizi. Google e altri, partendo dal Data Warehouse risolve alcune criticità, ma non tutte. Altri, attraverso tecniche CDC (Change Data Capture) tengono traccia dei dati modificati, identificandoli e acquisendoli.

In tutte queste modalità si offrono soluzioni migliorate con pro e contro per l’utente finale ma non si scalfisce nemmeno superficialmente il vero problema della memorizzazione di produzione globale di zetabyte in zetabyte. Con i Data Lake creiamo più spazio ma probabilmente necessiteremmo di Oceanlake.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 4