Informazioni su Apache HBase in Azure HDInsight
Apache HBase è un database NoSQL open source basato su Apache Hadoop e modellato su Google BigTable. HBase offre accesso casuale e coerenza assoluta per quantità elevate di dati in un database senza schema. Il database è organizzato per famiglie di colonne.
Dal punto di vista dell'utente, HBase è simile a un database. I dati sono archiviati nelle righe e nelle colonne di una tabella e i dati di ogni riga sono raggruppati in base al tipo di colonna. HBase è un database senza schema. Non è necessario definire colonne e tipi di dati prima di usarli. Il codice open source offre scalabilità lineare, in modo da gestire petabyte di dati in migliaia di nodi. Può contare su ridondanza dei dati, elaborazione batch e altre funzionalità offerte dalle applicazioni distribuite nell'ambiente di Hadoop.
Modalità di implementazione di Apache HBase in Azure HDInsight
HBase di HDInsight è offerto come cluster gestito integrato nell'ambiente di Azure. I cluster sono configurati per archiviare i dati direttamente in Archiviazione di Azure, che offre bassa latenza e maggiore flessibilità nelle opzioni relative a prestazioni e costi. Questa proprietà consente ai clienti di creare siti Web interattivi compatibili con set di dati di grandi dimensioni, allo scopo di creare servizi che archiviano dati di sensori e telemetria da milioni di endpoint e di analizzare questi dati con processi Hadoop. HBase e Hadoop costituiscono validi punti di partenza per progetti Big Data in Azure. Grazie ai servizi è possibile consentire ad applicazioni in tempo reale di usare set di dati di grandi dimensioni.
L'implementazione di HDInsight usa l'architettura di scale-out di HBase per offrire il partizionamento orizzontale automatico delle tabelle, oltre a coerenza assoluta per operazioni di lettura e scrittura e failover automatico. Le prestazioni sono ottimizzate dalla cache in memoria per le operazioni di lettura e da flussi a velocità effettiva elevata per quelle di scrittura. È possibile creare un cluster HBase in una rete virtuale. Per informazioni dettagliate, vedere Creare cluster HDInsight nella rete virtuale di Azure.
Modalità di gestione dei dati in HBase di HDInsight
I dati possono essere gestiti in HBase tramite i comandi create
, get
, put
e scan
dalla shell di HBase. I dati vengono scritti nel database tramite put
e letti tramite get
. Il comando scan
viene usato per ottenere i dati da più righe in una tabella. I dati possono essere gestiti anche tramite l'API C# di HBase, che offre una libreria client, oltre all'API REST di HBase. È anche possibile eseguire query in un database di HBase tramite Apache Hive. Per informazioni introduttive su questi modelli di programmazione, vedere Introduzione a Apache HBase con Apache Hadoop in HDInsight. Sono anche disponibili coprocessori che consentono l'elaborazione dei dati nei nodi che ospitano il database.
Nota
Thrift non è supportato da HBase in HDInsight.
casi di utilizzo per Apache HBase
Il caso di utilizzo tipico per cui è stato creato BigTable, e per estensione HBase, dalla ricerca Web. I motori di ricerca costruiscono indici per il mapping di termini alle pagine Web che li contengono. Tuttavia, HBase è adatto a molti altri casi di utilizzo, alcuni dei quali sono descritti in dettaglio in questa sezione.
Scenario | Descrizione |
---|---|
Archivio chiave-valore | HBase può essere usato come archivio di tipo chiave-valore ed è adatto alla gestione di sistemi di messaggistica. Facebook usa HBase per il proprio sistema di messaggistica ed è ideale per l'archiviazione e la gestione delle comunicazioni Internet. WebTable usa HBase per eseguire ricerche e gestire tabelle estratte da pagine Web. |
Dati di sensori | HBase è utile per l'acquisizione di dati raccolti in modo incrementale da varie origini, incluse analisi di social media e serie temporali, e permette di mantenere aggiornati i dashboard interattivi con tendenze e contatori e di gestire i sistemi di log di controllo. Alcuni esempi includono il terminale per trader di Bloomberg e Open Time Series Database (OpenTSDB). OpenTSDB archivia e offre l'accesso alle metriche raccolte sullo dei sistemi server. |
Query in tempo reale | Apache Phoenix è un motore di query SQL per Apache HBase. Vi si accede mediante un driver JDBC e permette di eseguire query e di gestire le tabelle HBase tramite SQL. |
HBase come piattaforma | Le applicazioni possono essere eseguite su HBase, usato come un archivio dati. Alcuni esempi sono Phoenix, OpenTSDB, Kiji e Titan. Le applicazioni possono anche essere integrate con HBase. Gli esempi includono : Apache Hive, Apache Pig, Solr, Apache Flume, Apache Impala, Apache Spark, Ganglia e Apache Drill. |