Tutorial HBase per principianti: cos'è HBase? Impara in 3 giorni!

Riepilogo dell'esercitazione HBase

Hbase è un sistema di gestione di database orientato alle colonne che gira su HDFS (Hadoop Distributed File System). In questo tutorial HBase per principianti, imparerai le basi di Apache HBase e i concetti avanzati. Questo corso HBase contiene tutte le basi di HBase, dall'introduzione, all'installazione, all'architettura, alle cose avanzate.

Cos'è HBase?

HBase è un sistema di database distribuito open source orientato alle colonne in a Hadoop ambiente. Inizialmente era Google Big Table, in seguito; è stato rinominato HBase ed è scritto principalmente in Java.  Apache HBase è necessario per le applicazioni Big Data in tempo reale.

HBase può archiviare enormi quantità di dati, da terabyte a petabyte. Le tabelle presenti in HBase sono composte da miliardi di righe con milioni di colonne. HBase è progettato per operazioni a bassa latenza, che presentano alcune caratteristiche specifiche rispetto ai modelli relazionali tradizionali.

Programma di formazione HBase

Ecco cosa tratteremo in questa Guida alla formazione di Apache HBase

👉 Lesssu 1 Architecnologia di HBase — HBase Archistruttura, componenti e modello di dati
👉 Lesssu 2 Installazione HBase — Installazione HBase attivata Ubuntu
👉 Lesssu 3 Comandi della shell HBase — Impara con l'esempio
👉 Lesssu 4 HBase Crea tabella — Passaggi per creare una tabella in HBase utilizzando Java API
👉 Lesssu 5 Inserisci e recupera dati in HBase — Esempi get(), put(), scan()
👉 Lesssu 6 Colli di bottiglia delle prestazioni in HBase — Vantaggi e limitazioni di HBase
👉 Lesssu 7 Domande per l'intervista a Hbase - Le 30 principali domande e risposte alle interviste Hbase

Cosa imparerai in questo tutorial HBase per principianti?

In questo tutorial HBase per principianti, imparerai cos'è Apache HBase, il file Archistruttura di HBase, Come installare HBase, Passaggi per creare una tabella in HBase, Vantaggi e limitazioni di HBase, ecc.

Perché scegliere HBase?

Una tabella per una popolare applicazione web può essere composta da miliardi di righe. Se vogliamo cercare una riga specifica da una quantità di dati così grande, HBase è la scelta ideale, poiché il tempo di recupero delle query è inferiore. La maggior parte delle applicazioni di analisi online utilizza HBase.

I modelli di dati relazionali tradizionali non riescono a soddisfare i requisiti di prestazioni di database molto grandi. Queste limitazioni di prestazioni ed elaborazione possono essere superate da Apache HBase.

Funzionalità Apache HBase

  • HBase è progettato per operazioni a bassa latenza
  • HBase è ampiamente utilizzato per operazioni di lettura e scrittura casuali
  • HBase memorizza una grande quantità di dati in termini di tabelle
  • Fornisce scalabilità lineare e modulare sull'ambiente cluster
  • Rigorosamente coerente per leggere e scrivere operazioni
  • Sharding automatico e configurabile delle tabelle
  • Supporta il failover automatico tra i server regionali
  • Comode classi base per il supporto Mappa HadoopRidurre lavori nelle tabelle HBase
  • Facile da usare Java API per l'accesso del cliente
  • Blocca cache e filtri Bloom per query in tempo reale
  • Il predicato della query viene inviato tramite filtri lato server.

Importanza dei database NoSQL in Hadoop

Nell’analisi dei big data, Hadoop svolge un ruolo fondamentale nella risoluzione dei tipici problemi aziendali gestendo grandi set di dati e fornisce le migliori soluzioni nel dominio dell'analisi.

Nell'ecosistema Hadoop, ogni componente svolge il suo ruolo unico per l'

  • Elaborazione dei dati
  • Convalida dei dati
  • Memorizzazione dei dati

In termini di archiviazione di dati non strutturati e semistrutturati e di recupero di tali dati, i database relazionali sono meno utili. Inoltre, recuperare risultati applicando query su enormi set di dati archiviati nello spazio di archiviazione Hadoop è un compito impegnativo. Le tecnologie di archiviazione NoSQL forniscono la soluzione migliore per eseguire query più rapide su enormi set di dati.

Altri database di tipo di archiviazione NoSQL

Alcuni dei modelli NoSQL presenti sul mercato lo sono Cassandra, MongoDB e CouchDB. Ciascuno di questi modelli ha diversi modi di meccanismo di archiviazione.

Per esempio, MongoDB è un database orientato ai documenti dell'albero genealogico NoSQL. Rispetto ai database tradizionali, offre le migliori funzionalità in termini di prestazioni, disponibilità e scalabilità. È un database open source orientato ai documenti ed è scritto in C++.

Cassandra è anche un database distribuito dal software Apache open source progettato per gestire un'enorme quantità di dati archiviati su server di base. Cassandra fornisce elevata disponibilità senza singoli punti di errore.

Mentre CouchDB è un database orientato ai documenti in cui i campi di ciascun documento sono archiviati in mappe chiave-valore.

In che modo HBase è diverso dagli altri modelli NoSQL

Il modello di archiviazione HBase è diverso dagli altri modelli NoSQL discussi in precedenza. Ciò può essere affermato come segue.

  • HBase archivia i dati sotto forma di coppie chiave/valore in un modello a colonne. In questo modello, tutte le colonne sono raggruppate insieme come famiglie di colonne.
  • HBase fornisce un modello dati flessibile e un accesso a bassa latenza a piccole quantità di dati archiviati in set di dati di grandi dimensioni.
  • HBase su Hadoop aumenterà il throughput e le prestazioni della configurazione del cluster distribuito. A sua volta, fornisce operazioni di lettura e scrittura casuali più veloci.

Quale database NoSQL scegliere?

MongoDB, CouchDB e Cassandra sono database di tipo NoSQL con funzionalità specifiche e utilizzati in base alle esigenze aziendali. Qui abbiamo elencato diversi database NoSQL in base al loro caso d'uso.

Tipo di database basato sulla funzionalità Esempio di banca dati Caso d'uso (quando utilizzare)
Chiave/Valore Redis, MemcacheDB Memorizzazione nella cache, messa in coda, distribuzione delle informazioni
Orientato alle colonne Cassandra, HBase Scalabilità, mantenimento non strutturato, non volatile
Orientato ai documenti MongoDB, Base per divano Informazioni nidificate, JavaAdatto alla sceneggiatura
Basato su grafici OrientDB, Neo4J Gestione di informazioni relazionali complesse. Modellazione e gestione della classificazione.

HBase vs. Alveare

Caratteristiche Base H Alveare
Modello base dati Ampio negozio di colonne DBMS relazionali
Schema dei dati Senza schemi Con schema
Supporto SQL Non Sì, utilizza HQL (linguaggio di query Hive)
Metodi di partizione sharding sharding
Livello di coerenza Coerenza immediata Eventuale coerenza
Indici secondari Non Si
Metodi di replica Fattore di replica selezionabile Fattore di replica selezionabile

HBase vs. RDBMS

Nel confrontare HBase con i database relazionali tradizionali, dobbiamo prendere in considerazione tre aree chiave. Questi sono modello di dati, archiviazione dei dati e diversità dei dati.

HBASE RDBMS
  • Senza schema nel database
  • Avere schema fisso nel database
  • Database orientati alle colonne
  • Archivio dati orientato alle righe
  • Progettato per archiviare dati denormalizzati
  • Progettato per memorizzare dati normalizzati
  • Tabelle ampie e scarsamente popolate presenti in HBase
  • Contiene tabelle sottili nel database
  • Supporta il partizionamento automatico
  • Non ha supporto integrato per il partizionamento
  • Adatto per i sistemi OLAP
  • Adatto per i sistemi OLTP
  • Legge solo i dati rilevanti dal database
  • Recupera una riga alla volta e quindi potrebbe leggere i dati non necessari se sono richiesti solo alcuni dei dati in una riga
  • I dati strutturati e semi-strutturati possono essere archiviati ed elaborati utilizzando HBase
  • I dati strutturati possono essere archiviati ed elaborati utilizzando RDBMS
  • Abilita l'aggregazione su più righe e colonne
  • L’aggregazione è un’operazione costosa

Sommario

HBase fornisce funzionalità uniche e risolverà i tipici casi d'uso industriali. Essendo un sistema di archiviazione orientato alle colonne, fornisce query rapide, recupero dei risultati e un'elevata quantità di spazio di archiviazione dei dati. Questo corso costituisce un'introduzione completa passo dopo passo a HBase.