Base H Archiarchitettura: casi d'uso, componenti e modello di dati
Base H Architettura e i suoi componenti importanti
L'architettura HBase è composta principalmente da quattro componenti
- Maestro
- Server HRegion
- HRegioni
- Zookeeper
- HDFS
Di seguito è riportata un'architettura dettagliata di HBase con i componenti:

Maestro
Maestro in HBase è l'implementazione di un server Master nell'architettura HBase. Agisce come agente di monitoraggio per monitorare tutte le istanze di Region Server presenti nel cluster e agisce come interfaccia per tutte le modifiche dei metadati. In un ambiente cluster distribuito, Master viene eseguito su NameNode. Master esegue diversi thread in background.
Di seguito sono elencati i ruoli importanti svolti da HMaster in HBase.
- Svolge un ruolo fondamentale in termini di prestazioni e mantenimento dei nodi nel cluster.
- HMaster fornisce prestazioni di amministrazione e distribuisce servizi a server di diverse regioni.
- HMaster assegna le regioni ai server delle regioni.
- HMaster ha funzionalità come il controllo del bilanciamento del carico e del failover per gestire il carico sui nodi presenti nel cluster.
- Quando un cliente desidera modificare qualsiasi schema e modificare qualsiasi operazione sui metadati, HMaster si assume la responsabilità di queste operazioni.
Alcuni dei metodi esposti da HMaster Interface sono principalmente metodi orientati ai metadati.
- Tabella (creatabella, rimuovitabella, abilita, disabilita)
- ColumnFamily (aggiungi colonna, modifica colonna)
- Regione (spostare, assegnare)
Il client comunica in modo bidirezionale sia con HMaster che con ZooKeeper. Per le operazioni di lettura e scrittura, contatta direttamente i server HRegion. HMaster assegna le regioni ai server regionali e, a sua volta, controlla lo stato di integrità dei server regionali.
Nell'intera architettura, abbiamo più server di regione. Hlog presente nei server di regione che memorizzeranno tutti i file di log.
Server della regione HBase
Quando HBase Region Server riceve richieste di scrittura e lettura dal client, assegna la richiesta a una regione specifica, dove risiede la famiglia di colonne effettiva. Tuttavia, il client può contattare direttamente i server HRegion, non è necessaria l'autorizzazione obbligatoria di HMaster per il client in merito alla comunicazione con i server HRegion. Il client richiede l'aiuto di HMaster quando sono necessarie operazioni relative ai metadati e alle modifiche dello schema.
HRegionServer è l'implementazione del Region Server. È responsabile del servizio e della gestione delle regioni o dei dati presenti in un cluster distribuito. I server regionali vengono eseguiti sui nodi dati presenti nel cluster Hadoop.
HMaster può entrare in contatto con più server HRegion ed eseguire le seguenti funzioni.
- Ospitare e gestire le regioni
- Suddivisione automatica delle regioni
- Gestione delle richieste di lettura e scrittura
- Comunicare direttamente con il cliente
Regioni HBase
Le HRegion sono gli elementi costruttivi di base del cluster HBase che consiste nella distribuzione di tabelle e comprende famiglie di colonne. Contiene più negozi, uno per ogni famiglia di colonne. Consiste principalmente di due componenti, che sono Memstore e Hfile.
Custode dello zoo
HBase Zookeeper è un server di monitoraggio centralizzato che gestisce le informazioni di configurazione e fornisce una sincronizzazione distribuita. La sincronizzazione distribuita consiste nell'accedere alle applicazioni distribuite in esecuzione nel cluster con la responsabilità di fornire servizi di coordinamento tra i nodi. Se il client desidera comunicare con le regioni, il client del server deve prima contattare ZooKeeper.
È un progetto open source e fornisce tanti servizi importanti.
Servizi forniti da Custode dello zoo
- Mantiene le informazioni di configurazione
- Fornisce sincronizzazione distribuita
- Client Stabilimento della comunicazione con i server regionali
- Fornisce nodi temporanei per i quali rappresentano server di regioni diverse
- Usabilità dei server master dei nodi temporanei per l'individuazione dei server disponibili nel cluster
- Per tenere traccia degli errori del server e delle partizioni di rete
I nodi master e slave HBase (server regionali) si sono registrati con ZooKeeper. Il client deve accedere alla configurazione del quorum ZK (zookeeper) per connettersi ai server master e regionali.
Durante un guasto dei nodi presenti nel cluster HBase, ZKquoram attiverà messaggi di errore e inizierà a riparare i nodi guasti.
HDFS
HDFS è un Hadoop distribuito File System, come suggerisce il nome, fornisce un ambiente distribuito per l'archiviazione ed è un file system progettato in modo da funzionare su hardware di base. Memorizza ogni file in più blocchi e per mantenere la tolleranza agli errori, i blocchi vengono replicati su un cluster Hadoop.
HDFS fornisce un elevato grado di tolleranza agli errori e funziona su hardware di base economico. Aggiungendo nodi al cluster ed eseguendo l'elaborazione e l'archiviazione utilizzando l'hardware di base a basso costo, si otterranno risultati migliori per il client rispetto a quello esistente.
Qui, i dati archiviati in ciascun blocco si replicano in 3 nodi ciascuno. Nel caso in cui un nodo non funzioni, non si verificherà alcuna perdita di dati, ma avrà un meccanismo di ripristino del backup adeguato.
HDFS entra in contatto con i componenti HBase e memorizza una grande quantità di dati in modo distribuito.
Modello dati HBase
Modello dati HBase è un insieme di componenti costituito da tabelle, righe, famiglie di colonne, celle, colonne e versioni. Le tabelle HBase contengono famiglie di colonne e righe con elementi definiti come chiavi primarie. Una colonna nella tabella del modello dati HBase rappresenta gli attributi degli oggetti.
Il modello di dati HBase è costituito dai seguenti elementi,
- Set di tavoli
- Ogni tabella con famiglie di colonne e righe
- Ogni tabella deve avere un elemento definito come chiave primaria.
- La chiave di riga funge da chiave primaria in HBase.
- Qualsiasi accesso alle tabelle HBase utilizza questa chiave primaria
- Ogni colonna presente in HBase denota l'attributo corrispondente all'oggetto
Casi d'uso HBase
Di seguito sono riportati esempi di casi d'uso di HBase con una spiegazione dettagliata della soluzione che fornisce a vari problemi tecnici
Dichiarazione problema | Soluzione |
---|---|
Industria delle telecomunicazioni affronta le seguenti sfide tecniche
|
HBase viene utilizzato per archiviare miliardi di righe di record di chiamate dettagliati. Se vengono aggiunti 20 TB di dati al mese al database RDBMS esistente, le prestazioni peggioreranno. Per gestire una grande quantità di dati in questo caso d'uso, HBase è la soluzione migliore. HBase esegue query rapide e visualizza i record. |
. Settore bancario genera milioni di record su base giornaliera. Oltre a ciò, il settore bancario necessita anche di una soluzione di analisi in grado di rilevare le frodi nelle transazioni monetarie | Per archiviare, elaborare e aggiornare grandi volumi di dati ed eseguire analisi, una soluzione ideale è HBase integrato con diversi componenti dell'ecosistema Hadoop. |
A parte questo, è possibile utilizzare HBase
- Ogni volta che è necessario scrivere applicazioni pesanti.
- Esecuzione di analisi dei registri online e generazione di report di conformità.
Meccanismo di archiviazione in HBase
HBase è un database orientato alle colonne e i dati sono archiviati in tabelle. Le tabelle sono ordinate per RowId. Come mostrato di seguito, HBase ha RowId, ovvero la raccolta di diverse famiglie di colonne presenti nella tabella.
Le famiglie di colonne presenti nello schema sono coppie chiave-valore. Se osserviamo in dettaglio ciascuna famiglia di colonne ha più numeri di colonne. I valori delle colonne archiviati nella memoria del disco. Ogni cella della tabella ha i propri metadati come timestamp e altre informazioni.
Arrivando a HBase, ecco i termini chiave che rappresentano lo schema della tabella
- Table: Insieme di righe presenti.
- Riga: Collezione di famiglie di colonne.
- Famiglia di colonne: Raccolta di colonne.
- Column: raccolta di coppie chiave-valore.
- Spazio dei nomi: Raggruppamento logico di tabelle.
- Cella: Una tupla {riga, colonna, versione} specifica esattamente una definizione di cella in HBase.
Archiviazioni orientate alle colonne e orientate alle righe
Gli archivi orientati a colonne e righe differiscono nel meccanismo di archiviazione. Come tutti sappiamo, i modelli relazionali tradizionali memorizzano i dati in termini di formato basato su righe come in termini di righe di dati. Gli archivi orientati alle colonne memorizzano le tabelle di dati in termini di colonne e famiglie di colonne.
La seguente tabella fornisce alcune differenze chiave tra questi due sistemi di archiviazione
Database orientato alle colonne | Database orientato per righe |
---|---|
Quando si tratta di processi e analisi, utilizziamo questo approccio. Ad esempio Processo di analisi online e le sue applicazioni. | Processo transazionale online come i settori bancario e finanziario utilizzano questo approccio. |
La quantità di dati che è possibile archiviare in questo modello è molto elevata in termini di petabyte | È progettato per un numero limitato di righe e colonne. |
Spiegazione dei dati di lettura e scrittura HBase
Le operazioni di lettura e scrittura dal client in Hfile possono essere mostrate nel diagramma seguente.
Passo 1) Il client desidera scrivere dati e, a sua volta, comunica prima con il server Regioni e poi con le regioni
Passo 2) Regioni che contattano memstore per l'archiviazione associata alla famiglia di colonne
Passo 3) I primi dati vengono archiviati in Memstore, dove i dati vengono ordinati e successivamente vengono scaricati in HFile. Il motivo principale per utilizzare Memstore è archiviare i dati in un file system distribuito basato su Row Key. Memstore verrà inserito nella memoria principale del server regionale mentre gli HFile verranno scritti in HDFS.
Passo 4) Il cliente desidera leggere i dati dalle regioni
Passo 5) A sua volta il Cliente può avere accesso diretto al Mem Store e può richiedere dati.
Passaggio 6) Cliente si avvicina a HFiles per ottenere i dati. I dati vengono recuperati e recuperati dal Cliente.
Memstore conserva le modifiche in memoria dell'archivio. La gerarchia degli oggetti nelle regioni HBase è mostrata dall'alto verso il basso nella tabella seguente.
Table | Tabella HBase presente nel cluster HBase |
destinazione | HRegioni per le tabelle presentate |
Negozio | Memorizza per ColumnFamily per ogni area della tabella |
Memstore |
|
StoreFile | StoreFiles per ogni negozio per ogni regione della tabella |
Bloccare | Blocchi presenti all'interno di StoreFiles |
HBase e HDFS
HBase funziona su HDFS e Hadoop. Alcune differenze chiave tra HDFS e HBase riguardano le operazioni e l'elaborazione dei dati.
HBASE | HDFS |
---|---|
Operazioni a bassa latenza | Operazioni ad alta latenza |
Letture e scritture casuali | Scrivi una volta Leggi molte volte |
Si accede tramite comandi della shell, API client in Java, RESTO, Avro o Parsimonia | Si accede principalmente tramite lavori MR (Map Reduce). |
È possibile eseguire sia l'archiviazione che l'elaborazione | È solo per le aree di stoccaggio |
Alcune tipiche applicazioni industriali IT utilizzano operazioni HBase insieme a Hadoop. Le applicazioni includono dati di borsa, operazioni di dati bancari online e l'elaborazione di Hbase è il metodo di soluzione più adatto.
Sintesi
- Componenti dell'architettura HBase: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
- HMaster in HBase è l'implementazione di un server Master nell'architettura HBase.
- Quando HBase Region Server riceve richieste di scrittura e lettura dal client, assegna la richiesta a una regione specifica, dove risiede l'effettiva famiglia di colonne
- Le HRegion sono gli elementi costruttivi di base del cluster HBase che consiste nella distribuzione di tabelle e comprende famiglie di colonne.
- HBase Zookeeper è un server di monitoraggio centralizzato che gestisce le informazioni di configurazione e fornisce una sincronizzazione distribuita.
- HDFS fornisce un elevato grado di tolleranza agli errori e funziona su hardware di base economico.
- Il modello di dati HBase è un insieme di componenti costituito da tabelle, righe, famiglie di colonne, celle, colonne e versioni.
- Gli archivi orientati a colonne e righe differiscono nel meccanismo di archiviazione.