HBase Apache
Un sistema di gestione database colonnare eseguito su Hadoop Distributed File System, un componente principale di Apache Hadoop.
Prenota una consulenza
Abstract technological background made of different element printed circuit board. Depth of field effect and bokeh.
Cos'è HBase?

HBase è un sistema di gestione database colonnare eseguito su Hadoop Distributed File System (HDFS). HBase fornisce uno strumento con tolleranza ai guasti per memorizzare set di dati sparsi, comuni in molti casi d'uso di big data. È adatto all'elaborazione dati in tempo reale o all'accesso random in lettura/scrittura a grandi volumi di dati.

A differenza dei sistemi di database relazionale, HBase non supporta uno structured query language come SQL; infatti HBase non è affatto un data store relazionale. Le applicazioni HBase sono scritte in Java™, proprio come un'applicazione Apache MapReduce tipo. HBase supporta le applicazioni di scrittura in Apache Avro, Representational State Transfer (REST) e Thrift.

Un sistema HBase è progettato per scalare linearmente. Comprende un insieme di tabelle standard con righe e colonne, proprio come un database tradizionale. Ogni tabella deve avere un elemento definito come chiave primaria e tutti i tentativi d'accesso alle tabelle di HBase devono servirsi di questa chiave primaria.

Avro, come componente, supporta un ricco insieme di tipi di dati primitivi, tra cui dati numerici, dati binari e stringhe; e vari tipi complessi tra cui array, mappe, enumerazioni e record. Per i dati può anche essere definito un criterio di ordinamento.

HBase si affida a ZooKeeper per un coordinamento ad alte prestazioni. ZooKeeper è integrato in HBase, ma se stai eseguendo un cluster di produzione suggeriamo di avere un cluster dedicato ZooKeeper che sia integrato con il tuo cluster HBase.

HBase lavora bene con Hive, un motore di query per l'elaborazione in modalità batch di big data, in modo da abilitare applicazioni tolleranti ai guasti su big data.


Un esempio di HBase

Una colonna HBase rappresenta un attributo di un oggetto; se la tabella sta memorizzando registri diagnostici dai server nel tuo ambiente, ogni riga potrebbe essere un record di registrazione e una colonna tipo  potrebbe essere la data/ora di quando il record di registrazione è stato scritto, oppure il nome del server da cui ha avuto origine il record.

HBase permette di raggruppare molti attributi in famiglie di colonne, in modo tale che gli elementi di una famiglia di colonne siano tutti memorizzati insieme. Questo è diverso da un database relazionale a righe, dove tutte le colonne di una data riga sono memorizzate insieme. Con HBase devi predefinire lo schema della tabella e specificare le famiglie di colonne. Tuttavia è possibile aggiungere nuove colonne alle famiglie in qualsiasi momento, rendendo la schema flessibile e capace di adattarsi alle mutevoli esigenze di applicazione.

Così come HDFS ha un NameNode e nodi di unità secondaria e MapReduce ha le unità secondarie JobTracker e TaskTracker, HBase è costruito su concetti simili. In HBase un nodo master gestisce il cluster e i server regionali memorizzano porzioni delle tabelle ed eseguono il lavoro sui dati. Allo stesso modo HDFS ha qualche interesse a livello enterprise poiché la disponibilità del NameNode HBase è anche sensibile alla perdita del suo nodo master.


Contatta un esperto

Pianifica una chiamata personale gratuita con un esperto IBM di big data per sapere come possiamo aiutarti a estendere data science e apprendimento automatico in tutto l'ecosistema Apache Hadoop.

Prenota una consulenza

Soluzioni correlate

Conduci analisi migliori e più veloci con le soluzioni di big data di IBM e Cloudera

IBM e Cloudera si sono unite per offrire una distribuzione Hadoop per le aziende, leader del settore, incluso un integrato ecosistema di prodotti e servizi per supportare analisi più veloci su larga scala.



Connettiti
Esplora Hadoop Blog Cognitive Class