Tecnologia e innovazione al servizio delle aziende

Big Data, Anaytics & IoT

 “Big Data” e “Internet of Things” rappresentano la nuova tendenza in campo informatico. Con Big Data si intende un dataset avente dimensioni e caratteristiche tali da non essere facilmente trattato con sistemi tradizionali quali, ad esempio, i database relazionali. Questo non vuol dire che gli strumenti di gestione dati normalmente presenti in azienda non siano in grado di trattare i big data ma che il loro utilizzo può essere poco produttivo in termini di tempi e costi di elaborazione. A tal fine, gli strumenti tradizionali, possono essere affiancati (mai sostituiti) da nuovi prodotti quali file system distribuiti, database NoSQL e framework di elaborazione distribuita come map reduce. Ognuno di questi strumenti è differente dagli altri ed è ottimizzato per eseguire determinati compiti. È quindi errato acquisire un solo strumento e cercare di utilizzato per risolvere tutte le problematiche sui Big Data dell’azienda. Lo strumento deve essere scelto in base alla tipologia di dato da elaborare e alle analytics che si vogliono fare su di esso.

BigData02

Non esiste una dimensione oltre la quale si può parlare di Big Data. Normalmente, essi, sono individuati in base alle loro proprietà che, spesso, sono rappresentate dalle “V” dei Big Data. Le “V” principali (e quindi le proprietà) sono 3:

  • Volumi: rappresenta la capacità di acquisire e gestire grandi volumi di dati. I dataset possono essere composti da poche migliaia di oggetti di grandi dimensioni (es. filmati, mappe,…) o da miliardi di oggetti di piccole dimensioni (es. le singole voci di un file di log). In genere i Big Data hanno dimensioni che vanno da pochi TeraByte a migliaia di PetaByte. È quindi necessario che gli strumenti per la memorizzazione dei dati abbiano un basso costo di storage per MegaByte e siano in grado di scalare in modo rapido ed economico.
  • Velocità: i Big Data possono essere generati con grande velocità. Un sistema di sensori può ad esempio, generare migliaia di record al secondo che devono essere elaborati in tempo reale o quasi. Si pensi che il 90% dei dati presenti a livello mondiale è stato generato nell’arco degli ultimi due anni e che buona parte di essi viene elaborata in tempo reale tramite strumenti di social analytics. Questa proprietà è molto importante nell’Internet of Thing dove i requisiti di real time sono spesso essenziali.
  • Varietà: i dati da elaborare provengono da fonti eterogenee sia strutturate che non strutturate (l’80% dei dati disponibili a livello mondiale è semi-strutturato). Lo stesso tracciato del dato può variare nel tempo trasformandolo in un formato completamente differente da quello iniziale. In questo ambito i sistemi tradizionali hanno difficoltà nel gestire, con bassi costi, i dati mentre i database NoSQL sono di aiuto in quanto forniscono la possibilità di memorizzare dati schema-less e di interrogarli con molta facilità ed efficienza. Molti di essi, inoltre, funzionano su cluster distribuiti altamente scalabili e a basso costo di gestione consentendo, quindi, di scalare in base alle esigenze.

BigData01

ad esse ne sono state successivamente aggiunte altre ma senza giungere ad un accordo su quali siano le ulteriori “V”. La scuola di pensiero più diffusa ha aggiunto le proprietà di:

  • Valore: la grande ricchezza delle aziende è data dai dati che possiedono. È dall’analisi di questi dati che un’azienda può cogliere nuove opportunità di business ma spesso, esse, non sono consce di quali dati hanno a disposizione e di quale sia il loro valore. Una nuova figura professionale, il Data Scientist ha il compito di capire di quali dati dispone un’azienda, quali informazioni (e quindi quale valore) può trarre da essi e quali strumenti sono più indicati per la loro elaborazione.
  • Veracità: rappresenta la proprietà di qualità dei dati. I dati, per esprimere valore, devono essere di alta qualità. Non è importante che il dato grezzo, appena memorizzato, abbia la più alta qualità possibile. Essa può essere migliorata successivamente con tecniche di pre-analytics che consentono, ad esempio, di correggere dati errati, di aggiungere (derivare) dati mancanti.

L’analisi dei Big Data può essere eseguita con strumenti eterogenei sia di tipo tradizionale che di nuova generazione. Lo strumento dipende dal tipo di analisi che si vuole fare, ad esempio:

  • se si vogliono analizzare in tempo (quasi) reale  grandi flussi di dati provenienti da sensori IoT, eventualmente correlandoli fra loro, uno strumento di Complex Event Processig (CEP) è quasi sicuramente la soluzione più indicata.
  • se i dati precedenti devono essere correlati con i dati storici degli ultimi 10 anni che sono memorizzati in file non strutturati di centinaia di TeraByte, uno strumento di analisi a forza bruta come map reduce (es. Hadoop) consente di creare un cluster di elaborazione distribuita a basso costo in grado di fornire risultati in tempi accettabili.
  • se si devono interrogare in tempi rapidi  grandi quantità di dati semi-strutturati provenienti da fonti eterogenee che possono essere memorizzati in un formato comune (es. JSON) uno strumento NoSQL (es. MongoDB) consente di implementare una soluzione in tempi rapidi e a basso costo.
  • se si devono memorizzare i dati ottenuti dalle elaborazioni dei punti precedenti per poi poterli ulteriormente elaborare con strumenti di reportistica, una soluzione tradizionale di business analytics e data warehouse rappresenta una buona soluzione.
  • se si devono fare predizioni sull’andamento di un’azienda in base ai dati di navigazione degli utenti sui portali web e sugli strumenti social, uno strumento di knowledge mining (es. knime, rapid miner) può essere la soluzione più opportuna.

 Negli ultimi due anni mi sono occupato delle problematiche relative ai Big Data, alla loro analisi e all’Internet of Things presso alcuni nostri clienti. In particolare ho collaborato alla realizzazione della piattaforma per Smart Data della Regione Piemonte dove mi sono occupato delle problematiche di invio dati da sensori (sperimentazione con Arduino, Mobile Device e Raspberry PI), delle problematiche di allineamento fra lo speed layer (basato su MongoDB) e il Big Data Lake (basato su Hadoop), alla selezione delle tecnologia per la memorizzazione e l’analytics dei dati e al supporto tecnico per i progetti fruitori della piattaforma.

Sono, inoltre, autore e docente di numerosi seminari e corsi relativi ai Big Data e relativa governance.