Apache HBase è un datastore per Big Data distribuito dotato di elevata scalabilità che fa parte dell'ecosistema di Apache Hadoop. Si tratta di un database open source non relazionale con versioni multiple che viene eseguito con il file system distribuito Hadoop (HDFS), progettato per accessi casuali e consistenza stretta in tempo reale per tabelle con miliardi di righe e milioni di colonne. Apache Phoenix si integra con Apache HBase per offrire accesso SQL a bassa latenza a tabelle Apache HBase e migliori prestazioni tramite indicizzazione secondaria. Inoltre, Apache HBase offre una solida integrazione con Apache Hadoop, Apache Hive e Apache Pig, per consentire analisi in parallelo di grandi volumi di informazioni e rapido accesso ai dati. Il modello di dati, il throughput e la tolleranza ai guasti offerti da Apache HBase lo rendono ideale per i carichi di lavoro previsti da tecnologie pubblicitarie, analisi Web, servizi finanziari, applicazioni con dati di serie storiche e da molti altri processi.
Amazon EMR offre il supporto nativo per Apache HBase; è possibile creare in modo semplice e veloce cluster Apache HBase tramite la Console di gestione AWS, l'interfaccia a riga di comando di AWS o l'API di Amazon EMR. È anche possibile sfruttare altre funzionalità di Amazon EMR, ad esempio scegliendo tra i diversi tipi di istanza Amazon EC2 e volumi Amazon EBS come base hardware del cluster, abilitando backup e ripristino in Amazon S3 tramite il file system di Amazon EMR (EMRFS) e la sostituzione automatica dei nodi, oppure inviando comandi di ricalibrazione delle risorse per aggiungere o rimuovere istanze dal cluster. È inoltre possibile utilizzare Hue per visualizzare le tabelle HBase e navigare nei dati. Ulteriori informazioni su Apache HBase in Amazon EMR.
Apache HBase è progettato per mantenere elevate le prestazioni anche quando sono allocati centinaia di nodi, per supportare miliardi di righe e milioni di colonne. Impiega il file system distribuito di Hadoop o HDFS come datastore con tolleranza ai guasti, che consente di memorizzare i file con tre repliche all'interno del cluster. Amazon EMR supporta un'ampia gamma di tipi di istanza e di volumi Amazon EBS, perciò è più facile personalizzare l'hardware del cluster in modo da ottimizzare costi e prestazioni. Inoltre, è possibile usare Apache Phoenix per ottenere bassa latenza in SQL con grandi volumi di tabelle HBase oppure creare indici secondari per migliorare le prestazioni.
Grazie alla perfetta integrazione con i progetti nell'ecosistema di Apache Hadoop, è possibile eseguire in parallelo carichi di lavoro di analisi di ampio respiro su dati memorizzati in tabelle HBase. Installare Apache Phoenix, Apache Hadoop, Apache Hive, Apache Pig e altre applicazioni open source per i Big Data sul cluster Amazon EMR insieme ad Apache HBase è un'operazione molto semplice, così come utilizzarli per la reportistica, le query SQL o altri carichi di lavoro analitici sui dati in Apache HBase. Inoltre, questi strumenti possono essere impiegati per importare o esportare in blocco i dati da Amazon S3 o HDFS in tabelle Apache HBase, oppure per utilizzare Apache Hive per unire i dati provenienti da Apache HBase con tabelle esterne in Amazon S3.
Apache HBase è uno store colonnare che permette di definire in modo arbitrario le colonne per ciascuna riga, rendendo più semplice filtrare gli elementi. HBase, inoltre, aggiunge un time stamp ad ogni cella, conservandone le versioni precedenti e fornendo l'accesso allo storico del set di dati. Ogni cella è un array di byte e può memorizzare un payload a livello di MB, consentendo di memorizzare nella tabella un'ampia varietà di tipi di dati. Apache Phoenix e Apache Hive consentono l'accesso SQL alle tabelle Apache HBase.
Per avviare un cluster completamente configurato di Amazon EMR con Apache HBase e altre applicazioni dell'ecosistema Apache Hadoop e Apache Spark sono sufficienti pochi minuti. Amazon EMR sostituirà automaticamente i nodi con prestazioni insufficienti e il cluster potrà essere ridimensionato in base alle esigenze. È possibile gestire le tabelle ed eseguire ricerche sui dati in Apache HBase utilizzando l'interfaccia utente di HUI e configurare backup e ripristino delle tabelle in Amazon S3 tramite EMRFS e Hadoop MapReduce. Inoltre, Apache HBase in Amazon EMR può utilizzare le funzioni di assegnazione autorizzazioni e di crittografia di Amazon EMR. Fai clic qui per ulteriori informazioni sulle caratteristiche di Amazon EMR.
Monster, leader globale nel settore degli annunci di lavoro, utilizza Apache HBase in Amazon EMR per memorizzare i dati di clickstream e delle campagne pubblicitarie per analisi a valle. Grazie a questa soluzione possono monitorare le prestazioni di diversi segmenti di pubblico di una determinata campagna con granularità a livello di singola impressione. Il team di analisi di Monster esplorano le attività delle campagne aggregando il numero di visualizzazioni e di clic per singolo utente. Monster sfrutta inoltre l'integrazione di Apache HBase con l'ecosistema di Apache Hadoop. Esegue infatti Apache Hive su un cluster Amazon EMR separato, che consente di eseguire query su una tabella HBase con SQL, in modo da fornire analisi aggiuntive ed esportare i dati da Apache HBase ad Amazon Redshift.
- Istruzioni su come creare un cluster Amazon EMR con Apache HBase
- Ulteriori informazioni su HBase nel sito Web della Apache Software Foundation per il progetto HBase
- Post del blog relativo al lancio di HBase 1.2 in Amazon EMR nel blog di AWS
- Tutorial: Utilizzo di HBase con Hive per carichi di lavoro NoSQL e di analisi nel blog di AWS sui Big Data