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:
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
|
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 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.
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 |
|
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.