HBase Architectie: Use Cases, Componenten & Datamodel

HBase Architectie en zijn belangrijke componenten

De HBase-architectuur bestaat hoofdzakelijk uit vier componenten

  • HMaster
  • HRegionserver
  • HRegio's
  • Dierentuinmedewerker
  • HDFS

Hieronder vindt u een gedetailleerde architectuur van HBase met componenten:

HBase Architectuur
HBase Archistructuurdiagram

HMaster

HMaster in HBase is de implementatie van een Master server in HBase architectuur. Het fungeert als een monitoring agent om alle Region Server instances in het cluster te monitoren en fungeert als een interface voor alle metadata wijzigingen. In een gedistribueerde clusteromgeving draait Master op NameNode. Master draait meerdere achtergrondthreads.

Hieronder staan ​​de belangrijke rollen die HMaster in HBase vervult.

  • Speelt een cruciale rol als het gaat om prestaties en het onderhouden van knooppunten in het cluster.
  • HMaster biedt beheerdersprestaties en distribueert services naar servers in verschillende regio's.
  • HMaster wijst regio's toe aan regioservers.
  • HMaster beschikt over functies zoals het regelen van load balancing en failover om de belasting van de knooppunten in het cluster te verwerken.
  • Wanneer een klant een schema of metadatabewerkingen wil wijzigen, neemt HMaster de verantwoordelijkheid voor deze bewerkingen op zich.

Sommige van de methoden die door HMaster Interface worden aangeboden, zijn voornamelijk op metagegevens gerichte methoden.

  • Tabel (createTable, removeTable, inschakelen, uitschakelen)
  • ColumnFamily (kolom toevoegen, kolom wijzigen)
  • Regio (verplaatsen, toewijzen)

De client communiceert op een bidirectionele manier met zowel HMaster als ZooKeeper. Voor lees- en schrijfbewerkingen maakt het direct contact met HRegion-servers. HMaster wijst regio's toe aan regioservers en controleert op zijn beurt de gezondheidsstatus van regioservers.

In de gehele architectuur hebben we meerdere regioservers. Hlog is aanwezig in regioservers die alle logbestanden gaan opslaan.

HBase-regioservers

Wanneer HBase Region Server schrijf- en leesverzoeken van de client ontvangt, wijst het het verzoek toe aan een specifieke regio, waar de werkelijke kolomfamilie zich bevindt. De client kan echter rechtstreeks contact opnemen met HRegion-servers, er is geen HMaster-machtiging nodig voor de client met betrekking tot communicatie met HRegion-servers. De client heeft HMaster-hulp nodig wanneer bewerkingen met betrekking tot metadata en schemawijzigingen vereist zijn.

HRegionServer is de Region Server-implementatie. Het is verantwoordelijk voor het bedienen en beheren van regio's of gegevens die aanwezig zijn in een gedistribueerd cluster. De regioservers draaien op Data Nodes die aanwezig zijn in het Hadoop-cluster.

HMaster kan contact maken met meerdere HRegion-servers en voert de volgende functies uit.

  • Regio's hosten en beheren
  • Regio's automatisch splitsen
  • Het afhandelen van lees- en schrijfverzoeken
  • Direct communiceren met de klant

HBase-regio's

HRegions zijn de basisbouwelementen van HBase cluster die bestaan ​​uit de distributie van tabellen en zijn samengesteld uit Column families. Het bevat meerdere stores, één voor elke column family. Het bestaat voornamelijk uit twee componenten, namelijk Memstore en Hfile.

Dierentuinmedewerker

HBase Zookeeper is een gecentraliseerde monitoringserver die configuratie-informatie bijhoudt en gedistribueerde synchronisatie biedt. Gedistribueerde synchronisatie is om toegang te krijgen tot de gedistribueerde applicaties die over het cluster draaien met de verantwoordelijkheid om coördinatieservices tussen knooppunten te bieden. Als de client wil communiceren met regio's, moet de client van de server eerst ZooKeeper benaderen.

Het is een open source-project en biedt zoveel belangrijke diensten.

Diensten geleverd door Dierentuinmedewerker

  • Onderhoudt configuratie-informatie
  • Biedt gedistribueerde synchronisatie
  • Clientcommunicatie-instelling met regioservers
  • Biedt kortstondige knooppunten waarvoor verschillende regioservers vertegenwoordigen
  • Bruikbaarheid van tijdelijke knooppunten voor masterservers voor het ontdekken van beschikbare servers in het cluster
  • Om serverstoringen en netwerkpartities op te sporen

Master- en HBase-slave-nodes (regioservers) registreerden zichzelf bij ZooKeeper. De client heeft toegang nodig tot de ZK(zookeeper)-quorumconfiguratie om verbinding te maken met master- en regioservers.

Wanneer knooppunten in het HBase-cluster uitvallen, genereert ZKquoram foutmeldingen en begint het met het repareren van de uitgevallen knooppunten.

HDFS

HDFS is een Hadoop-distributie File System, zoals de naam al aangeeft, biedt het een gedistribueerde omgeving voor de opslag en is het een bestandssysteem dat is ontworpen om op standaardhardware te draaien. Het slaat elk bestand op in meerdere blokken en om fouttolerantie te behouden, worden de blokken gerepliceerd over een Hadoop-cluster.

HDFS biedt een hoge mate van fouttolerantie en draait op goedkope commodity hardware. Door knooppunten toe te voegen aan het cluster en verwerking en opslag uit te voeren met behulp van de goedkope commodity hardware, zal het de client betere resultaten geven in vergelijking met de bestaande.

Hier worden de gegevens die in elk blok zijn opgeslagen, gerepliceerd naar 3 knooppunten. In het geval dat een knooppunt uitvalt, zal er geen gegevensverlies optreden, maar zal het een goed back-upherstelmechanisme hebben.

HDFS kom in contact met de HBase-componenten en slaat een grote hoeveelheid gegevens gedistribueerd op.

HBase-gegevensmodel

HBase-gegevensmodel is een set componenten die bestaat uit tabellen, rijen, kolomfamilies, cellen, kolommen en versies. HBase-tabellen bevatten kolomfamilies en rijen met elementen die zijn gedefinieerd als primaire sleutels. Een kolom in de HBase-gegevensmodeltabel vertegenwoordigt attributen van de objecten.

Het HBase-gegevensmodel bestaat uit de volgende elementen:

  • Aantal tafels
  • Elke tabel met kolomfamilies en rijen
  • Voor elke tabel moet een element zijn gedefinieerd als Primaire sleutel.
  • Rijsleutel fungeert als primaire sleutel in HBase.
  • Bij elke toegang tot HBase-tabellen wordt deze primaire sleutel gebruikt
  • Elke kolom in HBase geeft het attribuut aan dat overeenkomt met het object

HBase-gebruiksscenario's

Hieronder staan ​​voorbeelden van HBase-gebruiksgevallen met een gedetailleerde uitleg van de oplossing die het biedt voor verschillende technische problemen

Probleemstelling Het resultaat
Telecom-industrie geconfronteerd met de volgende technische uitdagingen

  • Opslaan van miljarden CDR-logboekrecords (Call detailed recording) die zijn gegenereerd door het telecomdomein
  • Biedt realtime toegang tot CDR-logs en factureringsgegevens van klanten
  • Bied een kosteneffectieve oplossing in vergelijking met traditionele databasesystemen
HBase wordt gebruikt om miljarden rijen met gedetailleerde oproeprecords op te slaan. Als er 20 TB aan data per maand wordt toegevoegd aan de bestaande RDBMS-database, zal de performance verslechteren. Om een ​​grote hoeveelheid data in dit use case te verwerken, is HBase de beste oplossing. HBase voert snelle query's uit en geeft records weer.
Uw partner voor Bankwezen genereert dagelijks miljoenen records. Daarnaast heeft de banksector ook behoefte aan een analyseoplossing die fraude bij geldtransacties kan detecteren Voor het opslaan, verwerken en bijwerken van grote hoeveelheden data en het uitvoeren van analyses is HBase, geïntegreerd met verschillende Hadoop-ecosysteemcomponenten, een ideale oplossing.

Afgezien daarvan kan HBase worden gebruikt

  • Wanneer het nodig is om zware applicaties te schrijven.
  • Het uitvoeren van online loganalyses en het genereren van compliancerapporten.

Opslagmechanisme in HBase

HBase is een kolomgeoriënteerde database en gegevens worden opgeslagen in tabellen. De tabellen zijn gesorteerd op RowId. Zoals hieronder wordt weergegeven, heeft HBase RowId, de verzameling van verschillende kolomfamilies die in de tabel aanwezig zijn.

De kolomfamilies die aanwezig zijn in het schema zijn sleutel-waardeparen. Als we in detail bekijken dat elke kolomfamilie meerdere aantallen kolommen heeft. De kolomwaarden opgeslagen in schijfgeheugen. Elke cel van de tabel heeft zijn eigen metagegevens zoals tijdstempel en andere informatie.

Opslagmechanisme in HBase
Opslagmechanisme in HBase

Als we naar HBase gaan, zijn dit de belangrijkste termen die het tabelschema vertegenwoordigen

  • tafel: Verzameling rijen aanwezig.
  • Rij: Verzameling kolomfamilies.
  • Kolom Familie: Verzameling kolommen.
  • Kolom: Verzameling van sleutel-waardeparen.
  • namespace: Logische groepering van tabellen.
  • Cel: Een tuple {row, column,version} specificeert exact een celdefinitie in HBase.

Kolomgeoriënteerde versus rijgerichte opslagplaatsen

Kolom- en rijgerichte opslagplaatsen verschillen in hun opslagmechanisme. Zoals we allemaal weten slaan traditionele relationele modellen gegevens op in termen van een op rijen gebaseerd formaat, bijvoorbeeld in termen van rijen met gegevens. Kolomgeoriënteerde opslagplaatsen slaan gegevenstabellen op in termen van kolommen en kolomfamilies.

De volgende tabel geeft enkele belangrijke verschillen tussen deze twee opslagmedia weer

Kolomgeoriënteerde database Rij-georiënteerde database
Als het om processen en analyses gaat, gebruiken we deze aanpak. Zoals Online analytische verwerking en het zijn toepassingen. Online transactieproces zoals de bancaire en financiële domeinen gebruiken deze aanpak.
De hoeveelheid gegevens die in dit model kan worden opgeslagen, is erg groot, bijvoorbeeld in termen van petabytes Het is ontworpen voor een klein aantal rijen en kolommen.

HBase-gegevens lezen en schrijven uitgelegd

De lees- en schrijfbewerkingen van Client naar Hfile worden in het onderstaande diagram weergegeven.

HBase-gegevens lezen en schrijven

Stap 1) De klant wil gegevens schrijven en communiceert op zijn beurt eerst met de regioserver en vervolgens met de regio's

Stap 2) Regio's die contact opnemen met de geheugenopslag voor opslag die is gekoppeld aan de kolomfamilie

Stap 3) De gegevens worden eerst opgeslagen in Memstore, waar de gegevens worden gesorteerd, en daarna worden ze doorgespoeld naar HFile. De belangrijkste reden om Memstore te gebruiken is om gegevens op te slaan in een gedistribueerd bestandssysteem op basis van Row Key. Memstore wordt in het hoofdgeheugen van de regioserver geplaatst terwijl HFiles naar HDFS worden geschreven.

Stap 4) Klant wil gegevens uit Regio's lezen

Stap 5) Op zijn beurt kan Klant rechtstreeks toegang krijgen tot Mem Store en kan hij gegevens opvragen.

Stap 6) Klant benadert HFiles om de gegevens op te halen. De gegevens worden door Klant opgehaald en opgehaald.

Memstore bewaart wijzigingen in de winkel in het geheugen. De hiërarchie van objecten in HBase-regio's is zoals weergegeven van boven naar beneden in onderstaande tabel.

tafel HBase-tabel aanwezig in het HBase-cluster
Regio HRegions voor de gepresenteerde tabellen
Shop Het slaat per ColumnFamily op voor elke regio voor de tabel
Geheugenopslag
  • Memstore voor elke winkel voor elke regio voor de tabel
  • Het sorteert gegevens voordat ze naar HFiles worden gespoeld
  • Door het sorteren zullen de schrijf- en leesprestaties toenemen
Winkelbestand StoreFiles voor elke winkel voor elke regio voor de tabel
Block Blokken aanwezig in StoreFiles

HBase versus HDFS

HBase draait bovenop HDFS en HadoopEnkele belangrijke verschillen tussen HDFS en HBase liggen op het gebied van gegevensbewerkingen en -verwerking.

HBASE HDFS
Lage latentie-bewerkingen Hoge latentie-bewerkingen
Willekeurig leest en schrijft Eén keer schrijven. Vele malen lezen
toegankelijk via shell-opdrachten, client-API in Java, RUST, Avro of Spaarzaamheid Primair toegankelijk via MR (Map Reduce)-jobs
Zowel opslag als proces kunnen worden uitgevoerd Het is alleen voor opslagruimtes

Sommige typische IT-industriële toepassingen gebruiken HBase-bewerkingen samen met Hadoop. Toepassingen omvatten beursgegevens, online bankgegevensbewerkingen en verwerking Hbase is de meest geschikte oplossingsmethode.

Samenvatting

  • HBase-architectuurcomponenten: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
  • HMaster in HBase is de implementatie van een Master-server in HBase-architectuur.
  • Wanneer HBase Region Server schrijf- en leesaanvragen van de client ontvangt, wijst deze de aanvraag toe aan een specifieke regio, waar de daadwerkelijke kolomfamilie zich bevindt
  • HRegions zijn de basisbouwelementen van een HBase-cluster die bestaan ​​uit de distributie van tabellen en zijn opgebouwd uit kolomfamilies.
  • HBase Zookeeper is een gecentraliseerde monitoringserver die configuratie-informatie bijhoudt en gedistribueerde synchronisatie biedt.
  • HDFS biedt een hoge mate van fouttolerantie en draait op goedkope standaardhardware.
  • HBase-gegevensmodel is een set componenten die bestaat uit tabellen, rijen, kolomfamilies, cellen, kolommen en versies.
  • Kolom- en rijgerichte opslagplaatsen verschillen in hun opslagmechanisme.

Dagelijkse Guru99 Nieuwsbrief

Begin uw dag met het laatste en belangrijkste AI-nieuws, direct bezorgd.