Overzicht van HBase-opslagarchitectuur

Daar omvat de HBase Storage-architectuur talrijke componenten. Laten we eens kijken naar de functies van deze componenten en weten hoe gegevens worden geschreven.



Apache HBase is een open-source, gedistribueerde, niet-relationele database gemodelleerd naar Google's Bigtable en geschreven in Java. Het biedt mogelijkheden die vergelijkbaar zijn met Bigtable bovenop Hadoop en HDFS (Hadoop Distributed Filesystem), d.w.z. het biedt een fouttolerante manier om grote hoeveelheden schaarse gegevens op te slaan, wat gebruikelijk is in veel gevallen van big data. HBase wordt gebruikt voor realtime lees- / schrijftoegang tot Big Data.



De HBase Storage-architectuur omvat talrijke componenten. Laten we eens kijken naar de functies van deze componenten en weten hoe gegevens worden geschreven.

H-bestanden:



HFiles vormt het lage niveau van de architectuur van HBase. HFiles zijn opslagbestanden die zijn gemaakt om de gegevens van HBase snel en efficiënt op te slaan.

HMaster:

De HMaster is verantwoordelijk voor het toewijzen van de regio's aan elke HRegionServer wanneer HBase wordt gestart. Het is verantwoordelijk voor het beheer van alles met betrekking tot rijen, tabellen en hun coördinatieactiviteiten. De Hmaster heeft ook de details van de metadata.



Componenten van HBase:

HBase heeft de volgende componenten:

wat is het verschil tussen git en github
  • Tabel - omvat regio's
  • Regio - Reeks rijen die samen zijn opgeslagen
  • Regioservers - Bedient een of meer regio's
  • Master Server - Daemon is verantwoordelijk voor het beheer van HBase-cluster

De HBase slaat gegevens rechtstreeks op in de HDFS en vertrouwt grotendeels op de hoge beschikbaarheid en fouttolerantie van HDFS.

HBase-opslagarchitectuur:

HBase-opslagarchitectuur

De algemene stroom is dat een klant eerst contact opneemt met de dierenverzorger om een ​​bepaalde rijsleutel te vinden. Het doet dit door de servernaam op te halen bij Zookeeper. Met deze informatie kan het nu die server opvragen om de server te krijgen die de metatabel bevat. Beide gegevens worden in de cache opgeslagen en slechts één keer opgezocht. Ten slotte kan het de metaserver opvragen en de server ophalen met de rij waarnaar de client op zoek is.

Als het eenmaal weet in welke regio de rij zich bevindt, slaat het deze informatie ook op in het cachegeheugen en neemt het rechtstreeks contact op met de HRegionServer. Dus na verloop van tijd heeft de klant volledige informatie over waar hij rijen vandaan kan halen zonder de metaserver opnieuw te hoeven opvragen. Wanneer de HRegion wordt geopend, wordt voor elke tabel een Store-instantie ingesteld voor elke HColumnFamily. De gegevens worden geschreven wanneer de klant een verzoek indient bij de HRegionServer die de details levert aan het overeenkomende HRegion-exemplaar. De eerste stap is dat we moeten beslissen of de gegevens eerst moeten worden weggeschreven naar de ‘Write-Ahead-Log’ (WAL) die wordt vertegenwoordigd door de klasse HLog. De beslissing is gebaseerd op de vlag die door de klant is ingesteld.
Zodra de gegevens naar de WAL zijn geschreven, worden ze in de MemStore geplaatst. Tegelijkertijd wordt gecontroleerd of de Memstore vol is en in dat geval wordt een flush naar schijf aangevraagd. Vervolgens worden de gegevens in de HFile geschreven.

Heeft u een vraag voor ons? Noem ze in het opmerkingengedeelte en we nemen contact met u op.

gerelateerde berichten

Inzichten in HBase-architectuur

wat is methode-overbelasting en methode-overschrijving