Uvod v HBase arhitekturo
HBase je odprtokoden, porazdeljen sistem za shranjevanje podatkov s ključnimi vrednostmi in baza podatkov, usmerjena v stolpce, z visoko hitrostjo pisanja in nizko zamudo pri naključnem branju. Z uporabo HBase lahko izvajamo spletno analitiko v realnem času. HBase arhitektura ima močno naključno berljivost. V HBase podatke fizično razčlenimo v tako imenovane regije. Vsako regijo gosti en sam regijski strežnik, za vsako regijo pa je odgovorna ena ali več regij. Arhitektura HBase je sestavljena iz strežnikov master-slave. Grozda HBase ima eno glavno vozlišče, imenovano HMaster, in več regijskih strežnikov, imenovanih HRegion Server (HRegion Server). V vsakem regionalnem strežniku je več regij - regij.
HDFS mehanizem za shranjevanje
V HDFS so podatki shranjeni v tabeli, kot je prikazano zgoraj.
Vsaka vrstica ima ključ.
Stolpec: je zbirka podatkov, ki pripada eni družini stolpcev in je vključena znotraj vrstice.
Družina stolpcev: Vsaka družina stolpcev je sestavljena iz enega ali več stolpcev.
Vsaka tabela vsebuje zbirko družin stolpcev. Ti stolpci niso del sheme.
HBase ima dinamične stolpce. Različne celice imajo lahko različne stolpce, ker so imena stolpcev kodirana znotraj celic
Kvalifikator stolpca: Ime stolpca je znano kot kvalifikator stolpca.
Sestavni deli arhitekture HBase
V arhitekturi HBase so glavni elementi: HMaster in Region Server. Regionalno shranjevanje podatkov HBase.
1. HMaster
Vozlišče HMaster je lahka in se uporablja za dodelitev regije strežniškemu območju.
Nekaj glavnih odgovornosti Hmasterja je:
- Izvajanje nekaterih skrbniških nalog, vključno z nalaganjem, uravnoteženjem, ustvarjanjem podatkov, posodabljanjem, brisanjem itd.
Odgovoren za spremembe v shemi ali spremembe META podatkov glede na navodila uporabniške aplikacije
- Veliko DDL dela na tablicah HBase opravi HMaster.
Nekatere metode, ki jih izpostavlja HMaster Interface, so predvsem. META podatkovno naravnane metode.
- Tabela (ustvari, odstrani, omogoči, onemogoči, odstrani tabelo)
- ColumnFamily (doda stolpec, spremeni stolpec)
- Regija (premakni, dodeli)
Naročnik komunicira z HMaster in ZooKeeper dvosmerno. S strežniki HRegion se obrne neposredno na operacije branja in pisanja. HMaster dodeli regijam strežnikom v regiji in nato preveri zdravstveno stanje regionalnih strežnikov.
2. Regijski strežnik
S pomočjo spodnjega diagrama lahko dobimo približno predstavo o regijskem strežniku.
Regijski strežniki so delovna vozlišča, ki obravnavajo zahteve strank za branje, pisanje, posodabljanje in brisanje. Region Server je lahek, deluje na vseh vozliščih v grozdu Hadoop. Glavna naloga regijskega strežnika je shranjevanje podatkov na območjih in izvajanje zahtev strank. Druga pomembna naloga strežnika HBase regije je uporaba metode samodejnega ostrenja za izvajanje uravnoteženja obremenitve z dinamično porazdelitvijo tabele HBase, ko postane po vstavljanju podatkov prevelika.
HMaster lahko kontaktira več strežnikov HRegion in izvaja naslednje funkcije:
- Upravljanje in Regions gostovanja
- Samodejno razdeljene regije
- Ravnanje s prošnjami za branje in pisanje
- Neposredna komunikacija s strankami
3. HDFS
HDFS pomeni sistem za distribucijo datotek Hadoop. Vsako datoteko shrani v več blokov in posnema bloke prek skupine Hadoop, da ohrani odpoved napak. HDFS zagotavlja visoko odstopanje napak in deluje s poceni materiali. Z uporabo poceni strojne opreme za dodajanje vozlišč v gručo in obdelavo ter shranjevanje bo kupcu omogočil boljše rezultate kot obstoječa strojna oprema. HDFS stopi v stik s komponentami HBase in shrani veliko podatkov na razdeljen način.
4. Zookeeper
Zookeeper je projekt odprtega koda. HMaster in HRegionServers se registrirata pri ZooKeeper.
Ponuja različne storitve, kot so vzdrževanje konfiguracijskih informacij, poimenovanje, zagotavljanje porazdeljene sinhronizacije itd. Distribuirana sinhronizacija je postopek zagotavljanja koordinacijskih storitev med vozlišči za dostop do tekočih aplikacij. Ima efermeralna vozlišča, ki predstavljajo regijske strežnike. Glavni strežniki uporabljajo ta vozlišča za iskanje razpoložljivih strežnikov.
Ta vozlišča se uporabljajo tudi za sledenje omrežnih particij in napak na strežniku. Zookeeper je interaktivni medij med strežnikom regije Client. Če želi stranka komunicirati s regijskim strežnikom, je zookeeper komunikacijski medij med njimi.
Kako se iskanje začne v HBase arhitekturi
Kot veste, lokacijo META tabele shrani Zookeeper. Kadar koli stranka pristopi ali napiše zahteve za HBase, je postopek naslednji.
Stranka od ZooKeeperja ugotovi, kako jim postaviti META tabelo. Odjemalec nato od njih zahteva ustrezen ključ vrstice META tabele za dostop do lokacije strežnika regije. Stranka z lokacijo META tabele predpomni te podatke. Stranka se nanje ne sklicuje na META tabelo, dokler in če območja ne premaknete ali premaknete. Nato bo znova zahtevan strežnik META in posodobitev predpomnilnika. Kot vedno kupci ne izgubljajo časa za iskanje lokacije Region Server na META strežniku, zato prihrani čas in pospeši postopek iskanja.
Lastnosti
Z Hadoopom se je enostavno povezati tako iz vira kot tudi iz cilja.
Podprta je distribuirana shramba, kot je HDFS.
Ima funkcijo naključnega dostopa z uporabo notranje Hash Table za shranjevanje podatkov za hitrejše iskanje v HDFS datotekah.
Prednosti HBase arhitekture
- V njih se lahko shranijo veliki nabori podatkov
- Bazo lahko delimo
- Gigabajti do petabajtov so stroškovno učinkoviti
- Velika razpoložljivost prek podvajanja in odpovedi
Slabosti HBase arhitekture
- Struktura SQL ne podpira
- Ne podpira transakcije
- Samo s ključi razvrščeni
- Težave s spominom v gruči
Zaključek
HBase je ena od stolpcev, usmerjena v stolpce NonSql, v apache. Če primerjate Hadoop ali Hive, HBase deluje bolje za pridobivanje manj zapisov. V tem članku smo razpravljali o arhitekturi HBase in njenih pomembnih sestavnih delih.
Priporočeni članki
To je vodnik za HBase arhitekturo. Tu smo razpravljali o konceptu, sestavnih delih, značilnostih, prednostih in slabostih. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -
- Kaj je tehnologija velikih podatkov?
- HDFS vs HBase, kateri je boljši
- Kaj je jezik skupščine?
- Uvod v HTML