Architettura HBase: tutto ciò che devi sapere [2022]

Pubblicato: 2021-01-06

Sia i dati strutturati che quelli non strutturati stanno crescendo in modo esponenziale e Apache Hadoop ha dimostrato la sua eccellenza nella gestione di dati così vasti. L'Apache Hadoop ha, quindi, guadagnato molta trazione nel mondo dei big data. Tuttavia, ci sono alcune limitazioni all'architettura HDFS di Hadoop.

HDFS genera operazioni ad alta latenza e non è in grado di gestire un volume elevato di richieste di lettura e scrittura contemporaneamente. Un'altra limitazione è che HDFS è un'architettura riscrivibile una volta letta più volte, il che significa che deve riscrivere completamente un file per alterare un set di dati. Queste limitazioni dell'architettura HDFS hanno sollevato la necessità dell'architettura HBase .

Sommario

Cos'è HBase?

HBase è un'architettura di archiviazione dei dati orientata alle colonne che viene formata su HDFS per superarne i limiti. Sfrutta le funzionalità di base di HDFS e si basa su di essa per fornire scalabilità gestendo un grande volume di richieste di lettura e scrittura in tempo reale. Sebbene l' architettura HBase sia un database NoSQL, semplifica il processo di gestione dei dati distribuendoli uniformemente nel cluster. Ciò rende veloce l'accesso e la modifica dei dati nel modello di dati HBase. Ulteriori informazioni su HBase.

Quali sono i componenti del modello di dati HBase?

Poiché il modello di dati HBase è un database NoSQL, gli sviluppatori possono leggere e scrivere facilmente i dati come e quando richiesto, rendendolo più veloce dell'architettura HDFS. Si compone dei seguenti componenti:

1. Tabelle HBase : l'architettura HBase è orientata alle colonne; quindi i dati vengono archiviati in tabelle in formato tabellare.

2. RowKey : una RowKey viene assegnata a ogni set di dati che viene registrato. Ciò semplifica la ricerca di dati specifici nelle tabelle HBase.

3. Colonne : le colonne sono i diversi attributi di un set di dati. Ogni RowKey può avere colonne illimitate.

4. Famiglia di colonne: le famiglie di colonne sono una combinazione di più colonne. Un'unica richiesta di lettura di una famiglia di colonne consente di accedere a tutte le colonne di quella famiglia, rendendo più rapida e semplice la lettura dei dati.

5. Qualificatori di colonna: i qualificatori di colonna sono come titoli di colonna o nomi di attributi in una tabella normale.

6. Cella : è una tupla riga-colonna identificata utilizzando RowKey e qualificatori di colonna.

7. Timestamp : ogni volta che un dato viene archiviato nel modello di dati HBase, viene archiviato con un timestamp.

Leggi: Componenti dell'ecosistema Hadoop

Quali sono i componenti dell'architettura HBase?

L' architettura HBase comprende tre componenti principali, HMaster, Region Server e ZooKeeper.

1. Maestro

HMaster opera in modo simile al suo nome. È il master che assegna le regioni al Region Server (slave). L'architettura HBase utilizza un processo di partizionamento automatico per mantenere i dati. In questo processo, ogni volta che una tabella HBase diventa troppo lunga, viene distribuita dal sistema con l'aiuto di HMaster. Alcune delle responsabilità tipiche di HMaster includono:

  • Controlla il failover
  • Gestisci il server regionale e il cluster Hadoop
  • Gestire le operazioni DDL come la creazione e l'eliminazione di tabelle
  • Gestisci le modifiche nelle operazioni sui metadati
  • Gestisci e assegna le regioni ai server regionali
  • Accetta le richieste e le invia al server regionale pertinente

2. Server regionale

I server regionali sono i nodi finali che gestiscono tutte le richieste degli utenti. Diverse regioni sono combinate all'interno di un unico server regionale. Queste regioni contengono tutte le righe tra le chiavi specificate. La gestione delle richieste degli utenti è un'attività complessa da eseguire e quindi i server regionali sono ulteriormente suddivisi in quattro diversi componenti per semplificare la gestione delle richieste.

  • Registro di scrittura in anticipo (WAL) : WAL è collegato a ogni server regionale e memorizza una sorta di dati temporanei che non sono ancora stati assegnati all'unità.
  • Block Cache : è una cache di richiesta di lettura; tutti i dati letti di recente vengono archiviati nella cache dei blocchi. I dati che non vengono utilizzati spesso vengono automaticamente rimossi dallo stock quando è pieno.
  • MemStore : è una cache di scrittura responsabile della memorizzazione dei dati non ancora scritti sul disco.
  • HFile : L'HFile memorizza tutti i dati effettivi dopo l'impegno.

3. Custode dello zoo

ZooKeeper funge da ponte attraverso la comunicazione dell'architettura HBase . È responsabile di tenere traccia di tutti i server regionali e delle regioni che si trovano al loro interno. Anche il monitoraggio di quali server regionali e HMaster sono attivi e che hanno fallito fa parte dei compiti di ZooKeeper. Quando rileva che una regione del server è guasta, fa sì che l'HMaster intraprenda le azioni necessarie. D'altra parte, se l'HMaster stesso si guasta, attiva l'HMaster inattivo che diventa attivo dopo l'avviso. Ogni utente e persino l'HMaster devono passare attraverso ZooKeeper per accedere ai server regionali e ai dati all'interno. ZooKeeper memorizza un file .Meta , che contiene un elenco di tutti i server della regione. Le responsabilità di ZooKeeper includono:

  • Stabilire la comunicazione attraverso il cluster Hadoop
  • Mantenimento delle informazioni di configurazione
  • Monitoraggio dell'errore del server della regione e dell'HMaster
  • Gestione delle informazioni sul server della regione

Come vengono gestite le richieste nell'architettura HBase?

Ora, poiché conosciamo i componenti principali dell'architettura HBase e la loro funzione, analizziamo in dettaglio come le richieste vengono gestite nell'intera architettura.

1. Iniziare la ricerca nell'architettura HBase

I passaggi per inizializzare la ricerca sono:

  1. L'utente recupera la tabella Meta da ZooKeeper e quindi richiede la posizione del server regionale pertinente.
  2. Quindi l'utente richiederà i dati esatti dal server regionale con l'aiuto di RowKey.

2. Scrivi il meccanismo nell'architettura HBase

I passaggi per scrivere nell'architettura HBase sono:

  1. Il client dovrà prima trovare il server regionale e quindi la posizione dei dati per modificarlo. (Questo passaggio riguarda solo la conversione dei dati e non la scrittura di nuove informazioni)
  2. La richiesta di scrittura effettiva inizia nel WAL, dove il client scrive i dati.
  3. WAL trasferisce i dati a MemStore e invia un riconoscimento all'utente.
  4. Quando MemStore è pieno di dati, esegue il commit dei dati in HFile, dove vengono archiviati.

3. Leggi il meccanismo nell'architettura HBase

Per leggere eventuali dati, l'utente dovrà prima accedere al relativo Region Server. Una volta che il server della regione è noto, l'altro processo include:

  1. La prima scansione viene eseguita nella cache di lettura, che è la cache di blocco.
  2. Il percorso di scansione successivo è MemStore, che è la cache di scrittura.
  3. Se i dati non vengono trovati nella cache dei blocchi o nel MemStore, lo scanner recupererà i dati da HFile.

Come funziona il recupero dei dati nell'architettura HBase?

L' architettura Hbase suddivide i dati attraverso la compattazione e la suddivisione in regione per ridurre il carico di dati nel cluster. Tuttavia, se si verifica un arresto anomalo ed è necessario il ripristino, ecco come si fa:

  1. ZooKeeper attiva HMaster quando si verifica un errore del server.
  2. HMaster distribuisce le regioni bloccate e il WAL ai server delle regioni attivi.
  3. Questi server regionali rieseguono WAL e creano il MemStore.
  4. Quando tutti i server della regione rieseguono WAL, tutti i dati insieme alle famiglie di colonne vengono ripristinati.

Verifica: ecosistema e componenti Hadoop

Linea di fondo

I dati sono diventati il ​​nuovo petrolio in vari settori. Quindi ci sono molteplici opportunità di carriera in Hadoop. Puoi imparare tutto su Hadoop e Big Data su upGrad .

Se sei interessato a saperne di più su Hbase, Big Data, dai un'occhiata al nostro PG Diploma in Software Development Specialization in Big Data, programma progettato per professionisti che lavorano e fornisce oltre 7 casi di studio e progetti, copre 14 linguaggi e strumenti di programmazione, mani pratiche -su workshop, oltre 400 ore di rigoroso apprendimento e assistenza all'inserimento lavorativo con le migliori aziende.

Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Padroneggia la tecnologia del futuro - Big Data

400+ ORE DI APPRENDIMENTO. 14 LINGUE E STRUMENTI. STATUS DI ALUMNI IIIT-B.
Programma di certificazione avanzato in Big Data da IIIT Bangalore