Arhitektura HBase, komponente, podatkovni model in primeri uporabe

Kazalo:

Anonim

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.

Mehanizem shranjevanja v HBase

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
  • Ko gre za procese in analitiko, uporabljamo ta pristop. Kot je spletna analitična obdelava in njene aplikacije.
  • Ta pristop uporabljajo spletni transakcijski procesi , kot sta bančništvo in finance.
  • Količina podatkov, ki jih je mogoče shraniti v tem modelu, je zelo velika kot pri petabajtih
  • Zasnovan je za majhno število vrstic in stolpcev.

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:

Diagram arhitekture HBase

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
  • Spominska trgovina za vsako trgovino za vsako regijo za mizo
  • Pred razvrščanjem v datoteke HFiles razvrsti podatke
  • Učinkovitost pisanja in branja se bo zaradi razvrščanja povečala
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
  • Shranjevanje milijard zapisov dnevnika CDR (podrobno snemanje klica), ki jih ustvari telekomunikacijska domena
  • Zagotavljanje sprotnega dostopa do dnevnikov CDR in informacij o računih strank
  • Zagotovite stroškovno učinkovito rešitev v primerjavi s tradicionalnimi sistemi baz podatkov
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

  • Operacije z nizko zakasnitvijo
  • Operacije z veliko zakasnitvijo
  • Naključno branje in pisanje
  • Napiši enkrat Preberi večkrat
  • Dostop prek ukazov lupine, API-ja odjemalca v Javi, REST, Avro ali Thrift
  • Dostopno predvsem prek opravil MR (Map Reduce)
  • Skladiščenje in obdelava se lahko izvedeta
  • To je samo za skladiščne prostore

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.