HDFS è un file system distribuito che gestisce dataset di grandi dimensioni in esecuzione sull'hardware commerciale. Viene utilizzato per aumentare le dimensioni di un singolo cluster Apache Hadoop a centinaia (e anche migliaia) di nodi. HDFS è uno dei principali componenti di Apache Hadoop, gli altri sono MapReduce e YARN. HDFS non deve essere confuso o sostituito da Apache HBase, un sistema di gestione database non relazionale a colonne che risiede al livello superiore di HDFS e può supportare meglio le esigenze di dati in tempo reale grazie al motore di elaborazione in-memory.
Poiché un'istanza HDFS può essere costituita da migliaia di server, il malfunzionamento di almeno un server è inevitabile. HDFS è stato progettato per rilevare i guasti ed eseguire automaticamente il ripristino in tempi rapidi.
HDFS è destinato più per l'elaborazione in modalità batch che per l'utilizzo interattivo, pertanto l'attenzione nella fase di progettazione è rivolta all'elevata velocità di trasmissione dei dati che consente la gestione degli accessi in streaming ai dataset.
HDFS ospita applicazioni che dispongono di dataset con dimensioni espresse in gigabyte e terabyte. HDFS fornisce un'elevata larghezza di banda dati aggregati ed è in grado di aumentare le dimensioni di un singolo cluster a centinaia di nodi.
Per semplificare l'adozione, HDFS è progettato per essere utilizzato su più piattaforme hardware ed è compatibile con un'ampia gamma di sistemi operativi sottostanti.
Prendiamo in esame un file che include i numeri di telefono di tutti gli abitanti degli Stati Uniti; i numeri delle persone che hanno cognomi che iniziano con la lettera A potrebbero essere memorizzati sul server 1, quelli che iniziano con la lettera B sul server 2, e così via.
Con Hadoop, le varie parti di questa rubrica verrebbero memorizzate in tutto il cluster, e per ricostruire l'intera rubrica, il programma necessiterebbe dei blocchi di ciascun server del cluster.
Per garantire la disponibilità se e quando un server ha esito negativo, HDFS replica questi parti più piccole su due server aggiuntivi per impostazione predefinita. (La ridondanza può essere aumentata o diminuita in base ai singoli file o all'intero ambiente; ad esempio, un cluster Hadoop di sviluppo generalmente non richiede alcuna ridondanza dei dati.) Questa ridondanza offre molteplici vantaggi, il più evidente dei quali è quello di ottenere una maggiore disponibilità.
Inoltre la ridondanza permette al cluster Hadoop di suddividere il lavoro in blocchi più piccoli ed eseguire tali lavori su tutti i server del cluster per una migliore scalabilità. Infine, si ottiene il vantaggio della prossimità dei dati, che risulta fondamentale quando si lavora con i dataset di grandi dimensioni.
IBM e Cloudera hanno stretto una partnership per offrire una distribuzione Hadoop di livello aziendale ai vertici del settore, tra cui un ecosistema integrato di prodotti e servizi per supportare analytics più veloci su vasta scala.
Esplora l'approccio migliore per la gestione dati e il modo in cui le aziende stanno rendendo prioritarie le tecnologie di dati per favorire crescita ed efficienza.
Leggi questa pratica introduzione alla prossima generazione di architetture dati. Introduce il ruolo delle tecnologie cloud e NoSQL e affronta la praticità di security, privacy e governance. (6,5 MB)