Mehanizem shranjevanja v HBase
HBase je stolpčno usmerjena baza podatkov in podatki so shranjeni v tabelah. Tabele so razvrščene po vrstnem redu. Kot je prikazano spodaj, ima HBase RowId, ki je zbirka več družin stolpcev, ki so prisotne v tabeli.
Družine stolpcev, ki so prisotne v shemi, so pari ključ-vrednost. Če podrobno opazujemo, da ima vsaka družina stolpcev več številk stolpcev. Vrednosti stolpcev, shranjene v pomnilniku diska. Vsaka celica tabele ima svoje metapodatke, kot so časovni žig in druge informacije.
V HBase so naslednji ključni izrazi, ki predstavljajo shemo tabele
- Tabela : Zbirka prisotnih vrstic.
- Vrstica : Zbirka družin stolpcev.
- Družina stolpcev : Zbirka stolpcev.
- Stolpec : Zbirka parov ključ / vrednost.
- Imenski prostor : logično razvrščanje tabel.
- Celica : Nabor {vrstica, stolpec, različica} natančno določa definicijo celice v HBase.
V tej vadnici boste izvedeli,
- Mehanizem shranjevanja v HBase
- Podatkovni model HBase
- Arhitektura HBase in njene pomembne komponente
- Razloženo branje in pisanje podatkov HBase
- Primeri uporabe HBase
- HBASE v primerjavi s HDFS
Stolpno usmerjene in vrstno usmerjene shrambe
Stolpno in vrstno usmerjena skladišča se razlikujejo po mehanizmu shranjevanja. Kot vsi vemo, tradicionalni relacijski modeli podatke shranjujejo v obliki vrstic, kot v vrsticah podatkov. Skladišča, usmerjena v stolpce, shranjujejo podatkovne tabele v obliki stolpcev in družin stolpcev.
Naslednja tabela prikazuje nekaj ključnih razlik med tema dvema skladiščema
Baza podatkov usmerjena v stolpce | Vrstica usmerjena baza podatkov |
|
|
|
|
Podatkovni model HBase
Podatkovni model HBase je nabor komponent, ki je sestavljen iz tabel, vrstic, družin stolpcev, celic, stolpcev in različic. Tabele HBase vsebujejo družine stolpcev in vrstice z elementi, definiranimi kot Primarni ključi. Stolpec v tabeli podatkovnega modela HBase predstavlja atribute predmetov.
Podatkovni model HBase je sestavljen iz naslednjih elementov,
- Komplet miz
- Vsaka tabela z družinami stolpcev in vrsticami
- Vsaka tabela mora imeti element, definiran kot Primarni ključ.
- Vrstni ključ deluje kot primarni ključ v HBase.
- Vsak dostop do tabel HBase uporablja ta primarni ključ
- Vsak stolpec, ki je prisoten v HBase, označuje atribut, ki ustreza predmetu
Arhitektura HBase in njene pomembne komponente
Spodaj je podroben arhiv HBase s komponentami:
Arhitektura HBase je v glavnem sestavljena iz štirih komponent
- HMaster
- HRegionserver
- HR regije
- Oskrbnik živalskega vrta
- HDFS
HMaster:
HMaster v HBase je izvedba glavnega strežnika v arhitekturi HBase. Deluje kot nadzorni agent za spremljanje vseh primerkov strežnika regije, ki so prisotni v gruči, in deluje kot vmesnik za vse spremembe metapodatkov. V okolju porazdeljene gruče se Master izvaja na NameNode. Master zažene več niti v ozadju.
Sledijo pomembne vloge, ki jih ima HMaster v HBase.
- Ima ključno vlogo v smislu zmogljivosti in vzdrževanja vozlišč v gruči.
- HMaster zagotavlja skrbniško zmogljivost in distribucijo storitev različnim regijskim strežnikom.
- HMaster regijskim strežnikom dodeli regije.
- HMaster ima funkcije, kot sta nadzor izravnave obremenitve in preusmeritev za upravljanje obremenitve nad vozlišči, prisotnimi v gruči.
- Ko stranka želi spremeniti katero koli shemo in spremeniti kakršne koli operacije metapodatkov, HMaster prevzame odgovornost za te operacije.
Nekatere metode, ki jih izpostavlja HMaster Interface, so predvsem metapodatkovne metode.
- Tabela (createTable, removeTable, enable, disable)
- ColumnFamily (dodaj stolpec, spremeni stolpec)
- Regija (premakni, dodeli)
Naročnik komunicira dvosmerno s HMaster in ZooKeeper. Za operacije branja in pisanja se neposredno poveže s strežniki HRegion. HMaster regijskim strežnikom dodeli regije in nato preveri zdravstveno stanje regijskih strežnikov.
V celotni arhitekturi imamo več regijskih strežnikov. Hlog prisoten v regijskih strežnikih, ki bodo shranili vse dnevniške datoteke.
Strežniki HBase Regions:
Ko HBase Region Server od stranke prejme zahteve za pisanje in branje, jo dodeli določeni regiji, kjer je dejanska družina stolpcev. Naročnik pa lahko neposredno vzpostavi stik s strežniki HRegion, zato mu ni treba obvezno dovoljenje HMaster glede komunikacije s strežniki HRegion. Naročnik potrebuje pomoč HMasterja, kadar so potrebne operacije, povezane z metapodatki in spremembami shem.
HRegionServer je izvedba Regijskega strežnika. Odgovoren je za oskrbo in upravljanje regij ali podatkov, ki so prisotni v porazdeljeni gruči. Regijski strežniki se izvajajo na podatkovnih vozliščih, prisotnih v gruči Hadoop.
HMaster lahko stopi v stik z več strežniki HRegion in izvaja naslednje funkcije.
- Gostovanje in upravljanje regij
- Samodejno delitev regij
- Obravnava zahtev za branje in pisanje
- Neposredna komunikacija s stranko
Regije HBase:
HRegije so osnovni gradbeni elementi grozda HBase, ki je sestavljen iz razporeditve tabel in je sestavljen iz družin stolpcev. Vsebuje več trgovin, po eno za vsako družino stolpcev. Sestavljen je predvsem iz dveh komponent, to sta Memstore in Hfile.
Oskrbnik živalskega vrta:
HBase Zookeeper je centraliziran nadzorni strežnik, ki vzdržuje informacije o konfiguraciji in zagotavlja porazdeljeno sinhronizacijo. Porazdeljena sinhronizacija je dostop do porazdeljenih aplikacij, ki se izvajajo po gruči, z odgovornostjo zagotavljanja koordinacijskih storitev med vozlišči. Če odjemalec želi komunicirati z regijami, mora odjemalec strežnika najprej pristopiti k ZooKeeper.
Je odprtokodni projekt in ponuja toliko pomembnih storitev.
Storitve, ki jih zagotavlja ZooKeeper
- Vzdržuje informacije o konfiguraciji
- Omogoča porazdeljeno sinhronizacijo
- Vzpostavitev komunikacije s strankami z regijskimi strežniki
- Ponuja kratkotrajna vozlišča, ki predstavljajo različne regijske strežnike
- Glavna uporabnost kratkotrajnih vozlišč za odkrivanje razpoložljivih strežnikov v gruči
- Za sledenje okvaram strežnika in omrežnih particij
Glavna in podrejena vozlišča HBase (regijski strežniki) so se registrirali pri ZooKeeper. Za povezavo z glavnim in regijskim strežnikom odjemalec potrebuje dostop do konfiguracije zbora ZK (zookeeper).
Med okvaro vozlišč, ki so prisotna v gruči HBase, bo ZKquoram sprožil sporočila o napakah in začel popravljati neuspešna vozlišča.
HDFS:
HDFS je distribuiran datotečni sistem Hadoop, kot že ime pove, zagotavlja porazdeljeno okolje za shranjevanje in je datotečni sistem, zasnovan tako, da deluje na blagovni strojni opremi. Vsako datoteko shrani v več blokov in za vzdrževanje odpornosti na napake se bloki podvojijo v gruči Hadoop.
HDFS zagotavlja visoko stopnjo tolerance napak in deluje na poceni osnovni strojni opremi. Z dodajanjem vozlišč v gručo in izvajanjem obdelave in shranjevanja z uporabo poceni strojne opreme bo stranka imela boljše rezultate v primerjavi z obstoječo.
Tu se podatki, shranjeni v vsakem bloku, podvojijo v 3 vozlišča, kadar koli, ko se katero koli vozlišče spusti, ne bo prišlo do izgube podatkov, imel bo ustrezen mehanizem za obnovitev varnostne kopije.
HDFS pride v stik s komponentami HBase in shrani veliko količino podatkov na porazdeljen način.
Razloženo branje in pisanje podatkov HBase
Operacije branja in pisanja iz odjemalca v Hfile so prikazane na spodnjem diagramu.
Korak 1) Naročnik želi zapisati podatke in nato najprej komunicira s strežnikom Regions in nato regijami
Korak 2) Regije, ki se za shranjevanje povežejo z družino stolpcev
Korak 3) Podatki se najprej shranijo v Memstore, kjer se podatki razvrstijo in nato pokažejo v HFile. Glavni razlog za uporabo Memstoreja je shranjevanje podatkov v porazdeljenem datotečnem sistemu, ki temelji na vrstnem ključu. Memstore bo postavljen v glavni pomnilnik strežnika regije, medtem ko se datoteke HFi zapisujejo v HDFS.
Korak 4) Naročnik želi prebrati podatke iz regij
5. korak) Naročnik ima lahko neposreden dostop do trgovine Mem in lahko zahteva podatke.
6. korak) Naročnik se obrne na HFiles, da pridobi podatke. Podatke pridobi in pridobi naročnik.
Memstore hrani spremembe v pomnilniku shrambe. Hierarhija predmetov v regijah HBase je prikazana od zgoraj navzdol v spodnji tabeli.
Tabela | Tabela HBase je prisotna v gruči HBase |
Regija | HRegije za predstavljene tabele |
Shrani | V tabelo shrani po stolpcih za vsako regijo |
Memstore |
|
StoreFile | StoreFiles za vsako trgovino za vsako regijo za tabelo |
Blokiraj | Bloki v storitvi StoreFiles |
Primeri uporabe HBase
Sledijo primeri primerov uporabe HBase s podrobno razlago rešitve, ki jo ponuja za različne tehnične težave
Izjava o težavi | Rešitev |
---|---|
Telekomunikacijska industrija se sooča s tehničnimi izzivi
| HBase se uporablja za shranjevanje milijard vrstic podrobnih evidenc klicev. Če se v obstoječo bazo podatkov RDBMS na mesec doda 20TB podatkov, se bo zmogljivost poslabšala. Če želite v tem primeru obdelati veliko količino podatkov, je HBase najboljša rešitev. HBase izvaja hitro poizvedovanje in prikazuje zapise. |
Bančništvo industrija ustvarja milijone zapisov na dnevni osnovi. Poleg tega bančna industrija potrebuje tudi analitično rešitev, ki lahko zazna prevare pri denarnih transakcijah | Za shranjevanje, obdelavo in posodabljanje velike količine podatkov in izvajanje analitike je idealna rešitev - HBase, integriran z več komponentami ekosistema Hadoop. |
Poleg tega je mogoče uporabiti HBase
- Kadarkoli je treba pisati težke aplikacije.
- Izvajanje spletne analitike dnevnikov in ustvarjanje poročil o skladnosti.
HBase proti HDFS
HBase deluje na HDFS in Hadoop. Nekatere ključne razlike med HDFS in HBase so v zvezi z operacijami in obdelavo podatkov.
HBASE |
HDFS |
|
|
|
|
|
|
|
|
|
|
Nekatere tipične industrijske aplikacije za IT uporabljajo operacije HBase skupaj s Hadoopom. Aplikacije vključujejo borzne podatke, podatke o spletnem bančništvu in obdelava Hbase je najprimernejša rešitev.
Povzetek
Hbase je ena od NoSql stolpno usmerjenih porazdeljenih baz podatkov, ki so na voljo v Apache Foundation. HBase daje več zmogljivosti za pridobivanje manj zapisov namesto Hadoop ali Hive. Iskanje katere koli vhodne vrednosti je zelo enostavno, saj podpira indeksiranje, transakcije in posodabljanje.
Spletno analitiko lahko izvajamo v realnem času z uporabo sistema Hbase, integriranega z ekosistemom Hadoop. Ima samodejno in nastavljivo ostrenje za nabore podatkov ali tabele in ponuja prijetne API-je za izvajanje opravil MapReduce.