Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Introduzione ad Hadoop Apache

Hadoop come soluzione Open Source per l'archiviazione e l'elaborazione di Big Data come alternativa agli RDBMS.
Hadoop come soluzione Open Source per l'archiviazione e l'elaborazione di Big Data come alternativa agli RDBMS.
Link copiato negli appunti

Uno dei principi chiave per operare con i Big Data è lo stoccaggio di tutti i dati originali, indipendentemente da quando questi saranno utilizzati. Quindi col tempo gli archivi possono assumere dimensioni anche incredibilmente elevate.

Anche se nulla impedisce di realizzare l'archiviazione dei dati tramite un classico database relazionale, spesso questa scelta porta a investire risorse economiche importanti sia in termini computazioniali, sia di storage. Questi e altri motivi portano alcuni colossi dell'innovazione, tra cui Google e Facebook, ad adottare strumenti diversi dagli RDBMS per gestire e i loro Dataset: tra le tecnologie Open Source create per questo scopo una delle più diffuse e utilizzate è Apache Hadoop.

Cos'è Hadoop

Hadoop è un framework software concepito per scrivere facilmente applicazioni che elaborano grandi quantità di dati in parallelo, su cluster di grandi dimensioni (costituiti da migliaia di nodi) assicurando un'elevata affidabilità e disponibilità (fault-tolerant).

Per garantire queste caratteristiche, Hadoop utilizza numerosi macro-sistemi tra cui HDFS, un file system distribuito, progettato appositamente per immagazzinare un'enorme quantità di dati, in modo da ottimizzare le operazioni di archiviazione e accesso a un ristretto numero di file di grandi dimensioni, ciò a differenza dei tradizionali file system che sono ottimizzati per gestire numerosi file di piccole dimensioni.

Hadoop nacque per sopperire ad un grave problema di scalabilità di Nutch, un crawler Open Source basato sulla piattaforma Lucene di Apache. I programmatori Doug Cutting e Michael J. Cafarella hanno lavorato ad una versione iniziale di Hadoop a partire dal 2004; proprio in quell'anno furono pubblicati documenti tecnici riguardanti il Google File System e Google MapReduce, documenti da cui Doug e Michael attinsero le competenze fondamentali per lo sviluppo di HDFS e di un nuovo e innovativo pattern per l'elaborazione distribuita di elevate moli di dati: MapReduce. Oggi MapReduce è uno dei componenti fondamentali di Hadoop.

Circa quattro anni più tardi, nel 2008, nacque la prima release come progetto Open Source indipendente di Apache. Ad oggi Hadoop è un insieme di progetti tutti facenti parte della stessa infrastruttura di calcolo distribuito.

Caratteristiche di Hadoop

Hadoop offre librerie che permettono la suddivisione dei dati da elaborare direttamente sui nodi di calcolo e permette di ridurre al minimo i tempi di accesso, questo perché i dati sono immediatamente disponibili alle procedure senza pesanti trasferimenti in rete.

Il framework garantisce inoltre un'elevata affidabilità: le anomalie e tutti gli eventuali problemi del sistema sono gestiti a livello applicativo anziché utilizzare sistemi hardware per garantire alta disponibilità. Un'altra caratteristica di Hadoop è la scalabilità che è realizzabile semplicemente aggiungendo nodi al cluster in esercizio.

I principali vantaggi di Hadoop risiedono nelle sue caratteristiche di agilità e di flessibilità. Per comprendere meglio l'utilità di questi vantaggi, confrontiamo le peculiarità di storage e data management offerte da Hadoop con quelle offerte da un "classico" RDBMS.

RDBMS Hadoop
Schema on Write: lo schema dei dati deve essere creato prima che i dati stessi vengano caricati Schema on Read: i dati sono semplicemente copiati nel file system, nessuna trasformazione è richiesta
Ogni dato da caricare deve essere trasformato nella struttura interna del database I dati delle colonne sono estratte durante la fase di lettura
Nuove colonne devono essere aggiunte esplicitamente prima che i nuovi dati per tali colonne siano caricate nel database I nuovi dati possono essere aggiunti ed estratti in qualsiasi momento

Dopo aver introdotto le caratteristiche principali di questo framework per Big Data, nel prossimo capitolo ci occuperemo di descrivere nel dettaglio l'architettura di Hadoop.

Ti consigliamo anche