TECHTARGET

Hadoop: perché è fondamentale per i big data. Quali le evoluzioni

Hadoop è un framework tecnologico open source che supporta i Big Data e le analitiche di business, permettendo alle applicazioni di lavorare con migliaia di nodi e petabyte di dati, strutturati e non strutturati. Quali le attuali distribuzioni e quali gli sviluppi futuri

Pubblicato il 04 Set 2019

Hadoop

Hadoop è una tecnologia open source unanimemente riconosciuta come la piattaforma di riferimento nell’ambito della gestione e della distribuzione dei big data. Si tratta di un framework che funge da strato intermedio tra un sistema operativo e il software che lo utilizza, consentendo alle applicazioni di lavorare con migliaia di nodi e di petabyte di dati. Il valore di Hadoop è quello di riuscire a elaborare anche quei dati non strutturati che vengono dal mondo digitale, collaborativo, sociale così come da tutto il mondo comunicante e sensorizzato associato alla Internet of Things.

Le origini del framework, da Apache Hadoop in poi

La matrice originale di Hadoop è Apache, il linguaggio di programmazione è Java, il plus della tecnologia è di supportare con una licenza libera applicazioni distribuite e con elevato accesso ai dati. La storia racconta come i suoi due creatori, Mike Cafrella e Doug Cutting, abbiano progettato il framework di elaborazione nel 2005, basandosi su idee che Google aveva delineato in un paio di documenti tecnici. Il simbolo di Hadoop, rappresentato da un elefantino giallo sorridente? Un’idea di Doug Cutting, che battezzò il progetto usando il nome del pupazzo preferito del figlio.

Nel 2006 è stata Yahoo la prima azienda che ha adottato la tecnologia, contribuendo poi anche al suo ulteriore sviluppo. A seguire, a ruota, sono state altre società dell’universo online come Ebay, Facebook, LinkedIn, Twitter o Spotify. Oggi Hadoop si è evoluto in un complesso ecosistema di componenti infrastrutturali e strumenti correlati che diversi fornitori commercializzano in suite.

Hadoop: come funziona ed esempi di utilizzo

Girando su un cluster di server, Hadoop offre agli utenti un approccio ad alte prestazioni e a basso costo per realizzare un’architettura di big data management particolarmente indicata a supportare iniziative di analisi avanzate.

Quando le capacità di Hadoop sono diventate evidenti ai più, infatti, il suo utilizzo si è diffuso anche ad altri settori. Non solo per le applicazioni legate alla reportistica, dunque, ma anche per quelle legate all’analisi più spinta, associata a un mix di dati strutturati tradizionali e nuove forme di dati non strutturati e semi-strutturati. Il framework, infatti, è in grado di elaborare:

  • i dati clickstream web
  • le informazioni sugli annunci online
  • i dati sui social media
  • i registri delle richieste di assistenza sanitaria
  • i dati dei sensori delle apparecchiature di produzione
  • le informazioni associate ai dispositivi IoT

Quali sono le componenti del framework

Hadoop comprende un gran numero di componenti software open source che includono una serie di moduli principali che servono ad acquisire, elaborare, gestire e analizzare enormi quantità di dati. I componenti principali sono:

  • Hadoop Distributed File System (HDFS): supporta una directory e un file system gerarchici convenzionali, i quali distribuiscono i file attraverso dei nodi di archiviazione, chiamati Data Nodi, in un cluster Hadoop.
  • YARN (acronimo di Yet Another Resource Negotiator): gestisce la schedulazione dei lavori, allocando le risorse del cluster alle applicazioni in esecuzione, decidendo la prioritizzazione nel caso ci sia una contesa per le risorse disponibili. La tecnologia traccia e monitora l’avanzamento dell’elaborazione dei lavori.
  • MapReduce: è sia un modello di programmazione che un framework di esecuzione per l’elaborazione parallela di applicazioni batch. Il principio è il seguente: anziché trasferire i dati al sistema computazionale, HDFS elabora direttamente i data nodi e la trasformazione di questi dati viene fatta in loco, attraverso MapReduce. Ogni nodo elabora i dati in base alla richiesta e poi inoltra i risultati che vengono consolidati su un nodo master, il quale si occupa anche di memorizzare tutti i metadati associati alla gestione dei cluster.
  • Hadoop Common Package: è un set di librerie e utility che usano anche altri componenti. L’HCP package contiene i file jar e gli script necessari per avviare Hadoop. Il package fornisce, inoltre, il codice sorgente, la documentazione nonché una sezione contributi che include i progetti della comunità Hadoop.
  • Hadoop Ozone e Hadoop Submarine: queste sono due tecnologie più recenti che offrono agli utenti rispettivamente un negozio di oggetti e un motore di apprendimento automatico.

Nei cluster Hadoop, i componenti principali, unitamente ad altri moduli software, si vanno a sovrapporre a una raccolta di nodi hardware preposti all’elaborazione e all’archiviazione dei dati. I nodi si collegano tramite una rete interna ad alta velocità per formare un sistema di calcolo distribuito e parallelo ad alte prestazioni.

In quanto raccolta di tecnologie open source, nessun singolo fornitore controlla Hadoop; piuttosto, Apache Software Foundation coordina il suo sviluppo. Apache, infatti, offre Hadoop con una licenza che garantisce agli utenti il diritto di utilizzare il software gratuitamente.

Caratteristiche delle versioni commerciali di Hadoop

Utenti e programmatori possono scaricare il software direttamente dal sito Web Apache per creare autonomamente degli ambienti Hadoop. Tuttavia, i fornitori di Hadoop propongono versioni predefinite dalla community di sviluppatori, con funzionalità di base che gli utenti possono scaricare gratuitamente e installare su una varietà di piattaforme hardware. I vendor commercializzano anche versioni preconfigurate di Hadoop che, oltre al software, propongono un bundle di servizi relativi alle attività di manutenzione e supporto.

In alcuni casi, alcuni fornitori offrono miglioramenti in termini di prestazioni e di funzionalità rispetto alla tecnologia Apache originale: ad esempio, fornendo strumenti software aggiuntivi per facilitare la configurazione e la gestione dei cluster o l’integrazione dei dati con piattaforme esterne.

Queste offerte commerciali rendono Hadoop sempre più a portata di mano, indipendentemente dalle dimensioni di un’impresa. Terziarizzando la complessità, un Hadoop provider può avviare la progettazione e lo sviluppo dell’infrastruttura per conto di un’azienda. Per implementare sistemi analitici ad alte prestazioni utili a soddisfare le crescenti esigenze del business basta aver cura di verificare la selezione di strumenti proposta dal fornitore e le modalità di integrazione.

I componenti di un tipico stack software Hadoop

Cosa significa utilizzare una versione commerciale di Hadoop? Come spiegano gli esperti, vuol dire che oltre ai componenti principali, le distribuzioni tipiche di Hadoop includeranno, tra l’altro:

  • L’elaborazione di dati alternativi e tutte le applicazioni utili alla gestione esecutiva come, ad esempio Spark, Kafka, Flink, Storm o Tez, che possono girare sopra o accanto a YARN per fornire la gestione dei cluster, la gestione dei dati memorizzati nella cache e altri strumenti che migliorano le prestazioni elaborative.
  • Apache HBase, ovvero un sistema di gestione dei database orientato alle colonne e modellato sul progetto Bigtable di Google che gira su HDFS (Hadoop Distributed File System).
  • Strumenti SQL-on-Hadoop, come Hive, Impala, Presto, Drill e Spark SQL, che offrono vari gradi di conformità allo standard SQL per l’interrogazione diretta dei dati archiviati in HDFS.
  • Strumenti di sviluppo, come Pig, che aiutano gli sviluppatori a creare MapReduce.
  • Gli strumenti di configurazione e gestione, come ZooKeeper o Ambari, utili sia per il monitoraggio che per la gestione.
  • Ambienti di analisi come Mahout, che forniscono modelli analitici per l’apprendimento automatico, il data mining e l’analisi predittiva.

Poiché il software è open source, le aziende non devono acquistare la distribuzione Hadoop come se si trattasse di un prodotto. Al contrario, i fornitori vendono abbonamenti di supporto annuali con diversi accordi sul livello di servizio (SLA – Service Level Agreement). Tutti i fornitori sono partecipanti attivi nella comunità Apache Hadoop, sebbene ciascuno possa promuovere i propri componenti aggiuntivi.

Chi gestisce l’ambiente di gestione dei big data di Hadoop?

È importante riconoscere che ottenere le prestazioni desiderate da un sistema Hadoop richiede un team coordinato di professionisti IT qualificati, che collaborano:

  • alla pianificazione dell’architettura
  • alla progettazione
  • allo sviluppo
  • ai test
  • all’implementazione
  • alle operazioni e manutenzione in corso per garantire le massime prestazioni.

Quei team IT in genere includono:

  • analisti specializzati nella valutazione dei requisiti di prestazione del sistema in base ai tipi di applicazioni che verranno eseguite nell’ambiente Hadoop
  • architetti di sistema che tengono conto dei requisiti prestazionali e progettano configurazioni hardware
  • ingegneri di sistema per installare, configurare e ottimizzare lo stack del software Hadoop
  • sviluppatori di applicazioni per progettare e implementare applicazioni
  • professionisti della gestione dei dati che preparano risolvono tutto il lavoro di integrazione dei dati, creando layout di dati, occupandosi anche di altre attività di gestione
  • gestori di sistema che garantiscono la gestione operativa e manutenzione
  • project manager che si occupano di supervisionare l’implementazione di vari livelli di stack e dello sviluppo delle applicazioni
  • un responsabile del programma che sovrintende all’implementazione dell’ambiente Hadoop, alla definizione delle priorità, allo sviluppo e alla distribuzione delle applicazioni.

Clicca qui per scaricare la Checklist e scoprire come creare una dashboard d'effetto ed efficace

Il mercato dei fornitori di Hadoop

L’evoluzione di Hadoop come ecosistema di gestione dei dati su larga scala ha creato un nuovo mercato del software che sta trasformando progressivamente il settore della business intelligence e delle analitiche. Questo tipo di sviluppo, infatti, ha ampliato sia le tipologie di applicativi legate alle analisi sia le tipologie di dati integrate nelle applicazioni che le aziende possono raccogliere e analizzare. Esistono, infatti, altri vendor che mettono a disposizione un ambiente di storage condiviso a cui si connettono i nodi computazionali. Utilizzare un’infrastruttura di storage condiviso per archiviare i dati Hadoop, per altro garantisce una protezione più efficace dei dati e una migliore protezione del nodo master Hadoop.

I due principali fornitori indipendenti specializzati in Hadoop sono Cloudera Inc (che nell’ottobre 2018 si è fusa con Hortonworks) e MapR Technologies Inc. Esistono altre società che offrono criteri di distribuzioni o funzionalità associate ad Hadoop come, ad esempio, AWS, Google e Microsoft.

Negli anni il mercato di Hadoop si è consolidato in modo significativo. Mentre IBM, Intel e Pivotal Software hanno deciso di lasciare l’agone, la fusione dei due ex rivali conferisce al nuovo Cloudera la quota di mercato maggiore, consentendo di competere più efficacemente nel cloud.

Cloudera: opportunità e sviluppi

In effetti, secondo i rumor, il nuovo sistema di messaggistica di Cloudera fornirà il primo cloud di dati aziendali del settore. Cloudera prevede di sviluppare un’offerta unificata chiamata Cloudera Data Platform, che dovrebbe essere rilasciata entro l’estate sui cloud Microsoft Azure e AWS (mentre la “seconda release” che supporterà implementazioni private cloud, conteiner, Kubernetes ecc. dovrebbe essere rilasciata entro fine anno o all’inizio del 2020). Nel frattempo, la società continuerà a sviluppare le piattaforme Cloudera e Hortonworks esistenti e le supporterà almeno fino al gennaio 2022.

Sebbene il nuovo Cloudera possa essere più competitivo, il potenziale svantaggio derivato dalla fusione è che gli utenti di Hadoop ora hanno meno opzioni. Ecco perché è importante valutare i fornitori che forniscono distribuzioni Hadoop, comprendendo analogie e differenze. La tecnologia, infatti, stessa: cosa è incluso nelle diverse modalità distributive, su quali piattaforme sono supportate e, soprattutto, quali componenti specifici supportano i singoli fornitori? Quali tipi di supporto e quali SLA forniscono i fornitori all’interno di ciascun livello di abbonamento e quanto costano a diversi abbonamenti? Comprendere in che modo questi aspetti si collegano ai requisiti aziendali specifici aiuta a evidenziare le caratteristiche che sono importanti costruire un rapporto proficuo con il fornitore.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 4