Hadoop e i Big Data sono strettamente correlati e spesso li si trova nella stessa frase o comunque nello stesso discorso. Nel campo dei Big Data, quasi tutti gli elementi possono essere interconnessi, per effetto delle implicazioni dei dati su vasta scala. Nel mondo digitale contemporaneo, l'interazione con i Big Data appare ormai inevitabile e Hadoop è semplicemente un modo in più per trovare risposte all'interno di quei dati.
Che cos'è Hadoop?
Hadoop è un framework open source destinato a essere utilizzato in tutte le attività di memorizzazione e di analisi di enormi quantità di dati. Mette a disposizione una libreria software versatile e accessibile. Grazie al basso costo di ingresso e alla capacità di svolgere analisi direttamente in corso d'opera costituisce una risorsa interessante per elaborare i Big Data.
Hadoop risale ai primi anni 2000, quando nacque nell'ambito delle operazioni di indicizzazione dei motori di ricerca per velocizzare le ricerche. In quel periodo stava prendendo forma Google. Google ha raggiunto il successo con una modalità innovativa di ricerca sul web, mentre Hadoop ha individuato altre opportunità nella sua architettura tecnologica, concentrandosi sugli aspetti tecnici dell'ordinamento e dell'elaborazione dei dati. Il nome del progetto è lo stesso dell'elefante giocattolo del figlio del suo creatore: Hadoop.
Cosa fa Hadoop e perché è onnipresente
Hadoop è una raccolta di elementi che funzionano insieme per analizzare i dati memorizzati. Comprende quattro modelli:
Hadoop Common: le utility essenziali, per la maggior parte degli utilizzi pratici
Hadoop Distributed File System (HDFS): memorizza i dati in un formato facilmente accessibile
Hadoop MapReduce: elabora i dati mappando un esteso set di dati e filtrandoli per ottenere i risultati desiderati
Hadoop YARN: gestisce le risorse e la programmazione
Hadoop è così diffuso perché è accessibile e facile capire. È economico e utile, con moduli che offrono numerose opzioni. Hadoop si può scalare facilmente su più computer, per lavorare con set di dati di qualsiasi dimensione, e il suo modo di archiviare ed elaborare i dati ne fa una soluzione molto interessante, costantemente scalabile per l'archiviazione dei dati delle aziende.
Utilizzo di Hadoop per analisi a basso costo con flessibilità a livello hardware
Il problema della memorizzazione di grandi quantità di dati è dovuto ai costi di mantenimento delle risorse e dell'hardware per gestire il carico di lavoro. Hadoop è così diffuso e così adottato perché è molto accessibile e consente di usare l'hardware in modo flessibile. Hadoop utilizza il cosiddetto "commodity hardware": sistemi a basso costo comunemente disponibili in commercio. Hadoop non richiede sistemi brevettati o costosi hardware personalizzati, quindi risulta decisamente economico.
Anziché ricorrere a costosi componenti hardware per l'elaborazione dei dati, Hadoop suddivide le capacità di elaborazione su più computer. Il sistema è in grado di adattarsi a qualsiasi tipo di set di dati, di qualsiasi dimensione. Sono i professionisti dell'IT a trarre i maggiori vantaggi da questa struttura, perché Hadoop consente loro di acquistare i tipi di hardware che meglio si adattano alle loro esigenze, nelle quantità necessarie.
Archiviazione dei dati nei data warehouse anziché nei data lake
Hadoop non si limita a suddividere le capacità di elaborazione: cambia anche il modo di memorizzare e analizzare i dati.
Tradizionalmente i dati venivano archiviati nei cosiddetti "data warehouse", letteralmente "magazzini di dati". Come suggerisce il loro nome, sono grandi raccolte di set di dati memorizzati e organizzati in base alle informazioni correlate. Gli analisti accedono a queste tabelle e a questi set di dati appena archiviati. Sono strutturati e i dati che contengono sono raggruppati in modo da essere accessibili su richiesta. Questo richiede l'analisi di tutti i dati, per poterli archiviare correttamente e richiamare quando sono necessari.
È vero che i sistemi di data warehouse sono utili per chi accede a tabelle specifiche, ma l'analisi e l'archiviazione anticipate possono richiedere molto tempo e molte risorse. Inoltre, se utilizzati in modo errato, i data warehouse possono essere inefficienti: gli eventuali dati che non vengono usati immediatamente o privi di una funzionalità apparente possono essere dimenticati o rimanere esclusi dall'analisi. Poiché le operazioni di archiviazione possono diventare costose, i data warehouse richiedono strategie mirate di scalabilità, per consentire agli analisti e ai professionisti dell'IT di sfruttare i vantaggi strutturali.
I data lake invece sono l'opposto di tutto questo. Mentre un data warehouse è controllato e catalogato, un data lake si può considerare come un enorme deposito di tutti i dati, che vi fluiscono liberamente. Tutti i dati vengono conservati, indipendentemente dal fatto che vengano poi analizzati, che abbiano un uso specifico o che possano potenzialmente averlo in futuro. Vengono importati come dati grezzi e analizzati solo quando occorre. Poiché Hadoop si avvale di componenti hardware abbastanza economici, è facile da scalare in base alle esigenze per memorizzare o analizzare grandi quantità di dati. Questo però significa che è più difficile conservare tabelle preconfezionate e set di dati approvati, rispetto a quanto avviene con i data warehouse. La scalabilità dei data lake consente di scalare le strategie di governance e la formazione.
I due modi di archiviare i dati presentano dei vantaggi specifici e spesso le aziende utilizzano sia i data warehouse che i data lake, in base alle esigenze legate ai dati.
Il ruolo di Hadoop nell'IoT (Internet of Things)
Una delle soluzioni offerte da Hadoop è la possibilità di archiviare e analizzare enormi quantità di dati. I Big Data diventano sempre più grandi. Cinque anni fa generavamo poco più della metà dei dati generati oggi. Quindici anni fa il volume di dati prodotto in 24 ore era inferiore a quello che attualmente si crea in circa tre minuti.
Questo enorme aumento della produzione di dati è in buona parte dovuto all'attuale ondata tecnologica chiamata "Internet of Things", abbreviata in "IoT", ovvero le soluzioni in cui normali oggetti fisici sono connessi in rete e vengono controllati tramite internet. Tutto è iniziato con smartphone, smart TV e sistemi di allarme; siamo poi passati agli elettrodomestici smart, come frigoriferi, lavastoviglie, termostati, lampadine, caffettiere, telecamere di sicurezza, sistemi di sorveglianza per bambini e animali domestici, serrature delle porte, robot-aspirapolvere e molto altro. È vero che questi elettrodomestici rendono la vita più comoda, ma d'altro canto rilevano e memorizzano i dati di ogni azione compiuta.
L'IoT si estende anche agli ambienti professionali, aziendali e governativi. I condizionatori smart garantiscono l'efficienza negli edifici, le body-camera proteggono gli agenti di polizia e i cittadini, i dispositivi di rilevamento ambientale aiutano la pubblica amministrazione a reagire più rapidamente in caso di calamità naturali, come terremoti e incendi.
Complessivamente tutti questi dispositivi registrano una quantità impressionante di dati, che richiede un monitoraggio flessibile e una scalabilità accessibile. Ecco perché i sistemi come Hadoop rappresentano spesso la soluzione ideale per l'archiviazione dei dati dell'IoT. Hadoop non è l'unica opzione ma è certamente la più diffusa, in considerazione delle esigenze di scalabilità dell'IoT.
Archiviare i Big Data è utile solo se quei dati si possono sfruttare
Con l'espansione dei Big Data, non possiamo accontentarci di memorizzare i dati con efficacia: dobbiamo anche utilizzarli con la stessa efficacia. Possiamo archiviare tutti i dati del mondo ma non ci serviranno a nulla se li lasciamo in un angolo a prendere la polvere. Anche se Hadoop offre dei vantaggi rispetto ad altri metodi di archiviazione dei dati, l'archiviazione dei dati non sostituisce l'analisi né la business intelligence.
All'aumentare del volume dei dati, l'archiviazione diventa semplicemente più costosa e se non si utilizzano questi dati per ricavare informazioni e generare valore, si rischia semplicemente di sprecare un sacco di soldi per una strategia di raccolta e archiviazione dei dati bella ma inutile. Una metafora utile è questa: pensiamo ai dati come se fossero oro da estrarre. Se uno acquista un terreno aurifero ma non estrae l'oro… beh, ha buttato un sacco di soldi. Se ben utilizzati, i sistemi come Hadoop rendono l'investimento più vantaggioso.