HBase Architektuur: kasutusjuhtumid, komponendid ja andmemudel

HBase Architektuur ja selle olulised komponendid

HBase arhitektuur koosneb peamiselt neljast komponendist

  • HMaster
  • HRegionserver
  • HPiirkonnad
  • Zookeeper
  • HDFS

Allpool on üksikasjalik HBase'i arhitektuur koos komponentidega:

HBase Architektuur
HBase Architektuuri diagramm

HMaster

HMaster HBase'is on peaserveri rakendamine HBase'i arhitektuuris. See toimib jälgimisagendina, mis jälgib kõiki klastris olevaid Region Serveri eksemplare, ja toimib kõigi metaandmete muudatuste liidesena. Jaotatud klastri keskkonnas töötab Master NameNode'is. Master käivitab mitu taustalõimi.

Järgmised on olulised rollid, mida HMaster HBase'is täidab.

  • Mängib olulist rolli jõudluse ja klastri sõlmede säilitamise osas.
  • HMaster pakub administraatori jõudlust ja jagab teenuseid erinevatele piirkondade serveritele.
  • HMaster määrab piirkonnad piirkonnaserveritele.
  • HMasteril on sellised funktsioonid nagu koormuse tasakaalustamise ja tõrkesiirde juhtimine, et käsitleda koormust klastris olevate sõlmede kaudu.
  • Kui klient soovib muuta mis tahes skeemi ja metaandmete toiminguid, vastutab HMaster nende toimingute eest.

Mõned HMaster Interface'i avaldatud meetodid on peamiselt metaandmetele orienteeritud meetodid.

  • Tabel (loo tabeli, eemalda tabel, luba, keela)
  • ColumnFamily (lisage veerg, muutke veergu)
  • Piirkond (teisalda, määra)

Klient suhtleb kahesuunaliselt nii HMasteri kui ka ZooKeeperiga. Lugemis- ja kirjutamistoimingute jaoks võtab see otse ühendust HRegioni serveritega. HMaster määrab piirkonnaserveritele piirkonnad ja kontrollib omakorda piirkonnaserverite seisundit.

Kogu arhitektuuris on meil mitu piirkonnaserverit. Hlog asub piirkonna serverites, mis salvestavad kõik logifailid.

HBase piirkonna serverid

Kui HBase Region Server saab kliendilt kirjutamis- ja lugemistaotlusi, määrab see päringu konkreetsele piirkonnale, kus tegelik veeruperekond asub. Samas saab klient HRegioni serveritega otse ühendust võtta, HRegioni serveritega suhtlemisel pole vaja HMasteri kohustuslikku luba. Klient vajab HMasteri abi, kui on vaja metaandmete ja skeemi muutmisega seotud toiminguid.

HRegionServer on regiooniserveri rakendus. See vastutab hajutatud klastris olevate piirkondade või andmete teenindamise ja haldamise eest. Piirkonnaserverid töötavad Hadoopi klastris olevatel andmesõlmedel.

HMaster saab kontakti mitme HRegioni serveriga ja täidab järgmisi funktsioone.

  • Piirkondade hostimine ja haldamine
  • Piirkondade automaatne jagamine
  • Lugemis- ja kirjutamistaotluste käsitlemine
  • Suhtlemine kliendiga otse

HBase piirkonnad

HRegions on HBase klastri põhielemendid, mis koosneb tabelite jaotusest ja koosnevad veergude perekondadest. See sisaldab mitut poodi, üks iga veerupere jaoks. See koosneb peamiselt kahest komponendist, milleks on Memstore ja Hfile.

Loomaaiatalitaja

HBase Zookeeper on tsentraliseeritud jälgimisserver, mis säilitab konfiguratsiooniteavet ja pakub hajutatud sünkroonimist. Hajutatud sünkroonimine on juurdepääs kogu klastris töötavatele hajutatud rakendustele, mis vastutavad sõlmedevaheliste koordineerimisteenuste pakkumise eest. Kui klient soovib piirkondadega suhelda, peab serveri klient esmalt pöörduma ZooKeeperi poole.

See on avatud lähtekoodiga projekt ja see pakub nii palju olulisi teenuseid.

Teenused, mida osutavad Loomaaiatalitaja

  • Säilitab konfiguratsiooniteavet
  • Pakub hajutatud sünkroonimist
  • Kliendisuhtluse loomine piirkonna serveritega
  • Pakub lühiajalisi sõlme, mis esindavad eri piirkonna servereid
  • Peaserveri kasutatavus lühiajaliste sõlmede jaoks klastris saadaolevate serverite leidmiseks
  • Serveri rikke ja võrgusektsioonide jälgimiseks

Ülem- ja HBase'i alamsõlmed (piirkonnaserverid) registreerisid end ZooKeeperis. Klient vajab juurdepääsu ZK (zookeeper) kvoorumi konfiguratsioonile, et luua ühenduse ülem- ja piirkonnaserveritega.

HBase'i klastris olevate sõlmede rikke ajal käivitab ZKquoram veateate ja alustab ebaõnnestunud sõlmede parandamist.

HDFS

HDFS on Hadoop levitatud File System, nagu nimigi viitab, pakub see salvestusele hajutatud keskkonda ja see on failisüsteem, mis on loodud töötama kauba riistvaral. See salvestab iga faili mitmesse plokki ja veataluvuse säilitamiseks kopeeritakse plokke Hadoopi klastris.

HDFS pakub kõrget tõrketaluvust ja töötab odava kauba riistvaraga. Klastrisse sõlmede lisamine ning odava kaubariistvara abil töötlemine ja salvestamine annab kliendile paremaid tulemusi võrreldes olemasolevaga.

Siin paljunevad igasse plokki salvestatud andmed kolmeks sõlmeks, kui mõni sõlm kaob, siis andmed ei kao, sellel on korralik varukoopia taastamise mehhanism.

HDFS saada ühendust HBase'i komponentidega ja salvestada suure hulga andmeid hajutatud viisil.

HBase andmemudel

HBase andmemudel on komponentide komplekt, mis koosneb tabelitest, ridadest, veergude perekondadest, lahtritest, veergudest ja versioonidest. HBase tabelid sisaldavad veergude perekondi ja ridu elementidega, mis on määratletud esmaste võtmetena. HBase'i andmemudeli tabeli veerg tähistab objektide atribuute.

HBase'i andmemudel koosneb järgmistest elementidest,

  • Tabelite komplekt
  • Iga tabel veeruperede ja ridadega
  • Igal tabelis peab olema element, mis on määratletud kui esmane võti.
  • Reaklahv toimib HBase'is esmase võtmena.
  • Igasugune juurdepääs HBase'i tabelitele kasutab seda esmast võtit
  • Iga HBase'i veerg tähistab objektile vastavat atribuuti

HBase'i kasutusjuhtumid

Järgnevalt on toodud näited HBase'i kasutusjuhtudest koos üksikasjaliku selgitusega lahenduse kohta, mida see pakub erinevatele tehnilistele probleemidele

Probleemipüstituses Lahendus
Telekommunikatsioonitööstus seisab silmitsi järgmiste tehniliste väljakutsetega

  • Salvestatakse miljardeid telekommunikatsiooni domeeni loodud CDR-i (kõnede üksikasjalik salvestus) logikirjeid
  • Reaalajas juurdepääsu pakkumine klientide CDR-i logidele ja arveldusteabele
  • Pakkuge traditsiooniliste andmebaasisüsteemidega võrreldes kulutõhusat lahendust
HBase'i kasutatakse miljardite ridade üksikasjalike kõnekirjete salvestamiseks. Kui olemasolevasse RDBMS-i andmebaasi lisatakse kuus 20 TB andmeid, halveneb jõudlus. Suure andmemahu töötlemiseks sellisel juhul on HBase parim lahendus. HBase teeb kiireid päringuid ja kuvab kirjeid.
. Pangandussektor genereerib iga päev miljoneid kirjeid. Lisaks sellele vajab pangandus ka analüütilist lahendust, mis suudab tuvastada rahatehingutes toimuvaid pettusi Suure hulga andmemahtude salvestamiseks, töötlemiseks ja värskendamiseks ning analüüsi tegemiseks on ideaalne lahendus – HBase on integreeritud mitme Hadoopi ökosüsteemi komponendiga.

Peale selle saab kasutada HBase'i

  • Alati, kui on vaja kirjutada raskeid rakendusi.
  • Veebilogianalüüsi tegemine ja vastavusaruannete koostamine.

HBase'i salvestusmehhanism

HBase on veerule orienteeritud andmebaas ja andmed salvestatakse tabelites. Tabelid on sorteeritud RowId järgi. Nagu allpool näidatud, on HBase'il RowId, mis on mitme tabelis sisalduva veeruperekonna kogum.

Skeemis olevad veerupered on võtme-väärtuste paarid. Kui vaatleme üksikasjalikult iga veergude perekonda, millel on mitu veergu. Veeru väärtused salvestatakse kettamällu. Igal tabeli lahtril on oma metaandmed, nagu ajatempel ja muu teave.

HBase'i salvestusmehhanism
HBase'i salvestusmehhanism

HBase'i juurde tulles on järgmised võtmeterminid, mis tähistavad tabeli skeemi

  • Tabel: Olemasolevate ridade kogu.
  • Rida: veeruperekondade kogu.
  • Veeru perekond: veergude kogu.
  • Veerg: võtme-väärtuste paaride kogu.
  • Nimeruum: tabelite loogiline rühmitamine.
  • Rakk: Korter {rida, veerg, versioon} määrab täpselt HBase'i lahtri määratluse.

Veerule orienteeritud vs ridadele orienteeritud salvestusruumid

Veergudele ja ridadele orienteeritud salvestusruumid erinevad oma salvestusmehhanismi poolest. Nagu me kõik teame, traditsioonilised relatsioonimudelid salvestavad andmeid reapõhises vormingus, nagu andmeridades. Veergudele orienteeritud salvestusruumid salvestavad andmetabeleid veergude ja veeruperekondade kaupa.

Järgmises tabelis on toodud mõned peamised erinevused nende kahe salvestusruumi vahel

Veerule orienteeritud andmebaas Reaorienteeritud andmebaas
Kui olukord puudutab protsessi ja analüüsi, kasutame seda lähenemisviisi. Nagu näiteks Online analüütiline töötlemine ja see on rakendused. Interneti-tehingute protsess Seda lähenemisviisi kasutavad näiteks pangandus- ja finantsvaldkonnad.
Andmemaht, mida selles mudelis saab salvestada, on petabaitide poolest väga suur See on mõeldud väikese arvu ridade ja veergude jaoks.

HBase'i andmete lugemise ja kirjutamise selgitus

Lugemis- ja kirjutamistoimingud kliendist H-faili on näidatud alloleval diagrammil.

HBase andmete lugemine ja kirjutamine

Step 1) Klient soovib kirjutada andmeid ja omakorda suhtleb esmalt piirkondade serveriga ja seejärel piirkondadega

Step 2) Regioonid, mis võtavad memstore'iga ühendust veeruperega seotud salvestamiseks

Step 3) Esiteks salvestatakse andmed Memstore'i, kus andmed sorteeritakse ja seejärel loputatakse need HFile'i. Memstore'i kasutamise peamine põhjus on andmete salvestamine reavõtmel põhinevasse hajutatud failisüsteemi. Memstore paigutatakse piirkonna serveri põhimällu, samal ajal kui HFiles kirjutatakse HDFS-i.

Step 4) Klient soovib lugeda andmeid piirkondadest

Step 5) Kliendil võib omakorda olla otsejuurdepääs Mem-poele ja ta saab taotleda andmeid.

6. samm) Klient läheneb andmete hankimiseks HFilesile. Andmed hangib ja hangib klient.

Memstore sisaldab poe mälus tehtud muudatusi. HBase'i piirkondade objektide hierarhia on näidatud allolevas tabelis ülalt alla.

Tabel HBase'i tabel on HBase'i klastris
regioon HPiirkonnad esitatud tabelite jaoks
E-POOD See salvestab tabeli iga piirkonna veeruperekonna kohta
Memstore
  • Tabeli iga piirkonna iga poe mälupood
  • See sorteerib andmed enne HFilesi loputamist
  • Kirjutamise ja lugemise jõudlus suureneb sorteerimise tõttu
StoreFile StoreFiles iga poe jaoks tabeli iga piirkonna jaoks
Blokeerima StoreFilesis asuvad plokid

HBase vs HDFS

HBase töötab HDFS-i peal ja hadoop. Mõned peamised erinevused HDFS-i ja HBase'i vahel on andmetoimingute ja -töötluse osas.

HBASE HDFS
Madala latentsusega toimingud Suure latentsusega operatsioonid
Juhuslik loeb ja kirjutab Kirjuta üks kord Loe mitu korda
Juurdepääs läbi shell käsud, kliendi API sisse Java, REST, Avro või Thrift Peamiselt juurdepääsetav MR (Map Reduce) tööde kaudu
Nii ladustamist kui ka töötlemist saab teostada See on mõeldud ainult laoruumide jaoks

Mõned tüüpilised IT-tööstuse rakendused kasutavad HBase'i toiminguid koos Hadoopiga. Rakendused hõlmavad börsiandmeid, internetipanga andmetoiminguid ja Hbase töötlemine on kõige sobivam lahendusmeetod.

kokkuvõte

  • HBase arhitektuuri komponendid: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
  • HMaster HBase'is on peaserveri rakendamine HBase'i arhitektuuris.
  • Kui HBase Region Server saab kliendilt kirjutamis- ja lugemistaotlusi, määrab see päringu konkreetsele piirkonnale, kus tegelik veeruperekond asub
  • HRegions on HBase klastri põhielemendid, mis koosneb tabelite jaotusest ja koosnevad veergude perekondadest.
  • HBase Zookeeper on tsentraliseeritud jälgimisserver, mis säilitab konfiguratsiooniteavet ja pakub hajutatud sünkroonimist.
  • HDFS pakub kõrget tõrketaluvust ja töötab odava kauba riistvaraga.
  • HBase andmemudel on komponentide komplekt, mis koosneb tabelitest, ridadest, veergude perekondadest, lahtritest, veergudest ja versioonidest.
  • Veergudele ja ridadele orienteeritud salvestusruumid erinevad oma salvestusmehhanismi poolest.