HBase'i arhitektuur, komponendid, andmemudel ja kasutamise juhtumid

Lang L: none (table-of-contents):

Anonim

Salvestusmehhanism HBase'is

HBase on veergudele orienteeritud andmebaas ja andmed salvestatakse tabelitesse. Tabelid on sorteeritud RowId järgi. Nagu allpool näidatud, on HBase'il RowId, mis on mitme tabelis esineva veeruperekonna kogu.

Skeemil olevad veerupered on võtmeväärtuste paarid. Kui vaatleme üksikasjalikult igas veeruperes mitu veergude arvu. Veeruväärtused on salvestatud kettamällu. Igal tabeli lahtril on oma metaandmed, nagu ajatempel ja muu teave.

Salvestusmehhanism HBase'is

HBase'i juurde tulles on tabeliskeemi esindavad võtmeterminid järgmised

  • Tabel : olemasolevate ridade kogu.
  • Rida : veergude perekondade kogu.
  • Veergude perekond : veergude kogu.
  • Veerg : võtmeväärtuste paaride kogumine.
  • Nimeruum : tabelite loogiline rühmitamine.
  • Lahter : rida {rida, veerg, versioon} määrab täpselt HBase'is lahtri definitsiooni.

Selles õpetuses saate teada,

  • Salvestusmehhanism HBase'is
  • HBase'i andmemudel
  • HBase'i arhitektuur ja selle olulised komponendid
  • HBase'i andmete lugemine ja kirjutamine on selgitatud
  • HBase'i kasutamise juhtumid
  • HBASE vs HDFS

Veergude ja reale orienteeritud hoidlad

Veergudele ja reale orienteeritud hoidlad erinevad oma hoiustamismehhanismi poolest. Nagu me kõik teame, salvestavad traditsioonilised relatsioonimudelid andmeid reapõhises vormingus nagu andmeridade osas. Veergudele suunatud hoidlad salvestavad andmetabeleid veergude ja veeruperede kaupa.

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

Veergudele orienteeritud andmebaas Reale orienteeritud andmebaas
  • Protsessi ja analüüsi osas kasutame seda lähenemist. Nagu näiteks veebianalüütiline töötlemine ja selle rakendused.
  • Sellist lähenemist kasutavad veebitehingute protsessid , näiteks panga- ja finantsvaldkonnad.
  • Andmete hulk, mida selles mudelis saab salvestada, on väga suur nagu petabaitides
  • See on mõeldud väikesele arvule ridadele ja veergudele.

HBase'i andmemudel

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

HBase'i andmemudel koosneb järgmistest elementidest,

  • Laudade komplekt
  • Iga tabel veergude perekondade ja ridadega
  • Igal tabelil peab olema element, mis on määratletud esmase võtmena.
  • Ridaklahv toimib HBase'is primaarvõtmena.
  • Mis tahes juurdepääs HBase'i tabelitele kasutab seda esmast võtit
  • Iga HBase'is olev veerg tähistab objektile vastavat atribuuti

HBase'i arhitektuur ja selle olulised komponendid

Allpool on üksikasjalik HBase'i arhiittelekretär koos komponentidega:

HBase'i arhitektuuriskeem

HBase arhitektuur koosneb peamiselt neljast komponendist

  • HMaster
  • HRegionserver
  • HRegioonid
  • Loomaaiatalitaja
  • HDFS

HMaster:

HMaster HBase'is on põhiserveri juurutamine HBase arhitektuuris. See toimib jälgimisagendina kõigi klastris olevate Region Serveri eksemplaride jälgimiseks ja toimib kõigi metaandmete muudatuste liidesena. Hajutatud klastrite keskkonnas töötab Master NameNode'is. Master käivitab mitu taustalõnga.

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

  • Mängib olulist rolli jõudluses ja klastri sõlmede säilitamises.
  • HMaster pakub administraatori jõudlust ja levitab teenuseid erinevatele piirkonna serveritele.
  • HMaster määrab regioonid serveritele.
  • HMasteril on sellised funktsioonid nagu koormuse tasakaalustamise ja tõrkeülekande kontroll klastris olevate sõlmede koormuse haldamiseks.
  • Kui klient soovib muuta mis tahes skeemi ja muuta metaandmete toiminguid, võtab HMaster vastutuse nende toimingute eest.

Mõned HMasteri liidese poolt avatud meetodid on peamiselt metaandmetele orienteeritud meetodid.

  • Tabel (createTable, removeTable, lubamine, keelamine)
  • 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 piirkonnad piirkonna serveritele ja kontrollib omakorda piirkonna serverite seisundit.

Kogu arhitektuuris on meil mitu piirkonna serverit. Hlog on olemas piirkondlikes serverites, kuhu kõik logifailid salvestatakse.

HBase'i regioonide serverid:

Kui HBase Region Server saab kliendilt kirjutamis- ja lugemistaotlusi, määrab ta päringu konkreetsele piirkonnale, kus asub tegelik veerupere. Kliendil on siiski võimalik otse HRegioni serveritega ühendust võtta, HRegioni serveritega suhtlemiseks pole HMasteri jaoks kliendile kohustuslikku luba vaja. Kui metaandmete ja skeemi muudatustega seotud toimingud on vajalikud, vajab klient HMasteri abi.

HRegionServer on piirkonna serveri juurutus. See vastutab hajutatud klastris olevate piirkondade või andmete teenindamise ja haldamise eest. Piirkonna serverid töötavad Hadoopi klastris olevate andmesõlmedega.

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

  • Piirkondade majutamine ja haldamine
  • Piirkondade jagamine automaatselt
  • Lugemis- ja kirjutamisnõuete käsitlemine
  • Suhtlemine otse kliendiga

HBase'i piirkonnad:

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

Loomaaiatalitaja:

HBase Zookeeper on tsentraliseeritud jälgimisserver, mis hoiab konfiguratsiooniteavet ja pakub hajutatud sünkroonimist. Hajutatud sünkroonimine on juurdepääs kogu klastris töötavatele hajutatud rakendustele, mille ülesandeks on sõlmide vaheliste koordineerimisteenuste pakkumine. 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.

ZooKeeperi pakutavad teenused

  • Säilitab konfigureerimisteabe
  • Pakub hajutatud sünkroonimist
  • Kliendisuhtluse loomine piirkonna serveritega
  • Pakub lühiajalisi sõlme, mis esindavad erinevaid piirkonna servereid
  • Ülemate sõlmede põhiserverite kasutatavus klastris saadaolevate serverite avastamiseks
  • Serveri tõrke ja võrgusektsioonide jälgimiseks

Master- ja HBase-alamsõlmed (piirkonna serverid) registreerisid end ZooKeeperis. Klient vajab põhi- ja regiooniserveritega ühenduse loomiseks juurdepääsu ZK (zookeeper) kvoorumi konfiguratsioonile.

HBase-klastris olevate sõlmede rikke korral käivitab ZKquoram tõrketeated ja ta hakkab ebaõnnestunud sõlme parandama.

HDFS:

HDFS on Hadoopi hajutatud failisüsteem, kuna nimest tuleneb, et see pakub ladustamiseks hajutatud keskkonda ja see on failisüsteem, mis on loodud nii, et see töötaks kauba riistvaral. See salvestab iga faili mitmesse plokki ja rikketaluvuse säilitamiseks kopeeritakse plokid Hadoopi klastris.

HDFS tagab kõrge tõrketaluvuse ja töötab odava kauba riistvaraga. Kui lisate klastrisse sõlmed ning teostate odava kauba riistvara abil töötlemise ja salvestamise, annab see kliendile olemasolevaga võrreldes paremaid tulemusi.

Siin kopeeritakse igas plokis salvestatud andmed 3 sõlmpunktiks ükskõik millisel juhul, kui mõni sõlm langeb, ei kaota andmeid, sellel on korralik varunduse taastamise mehhanism.

HDFS võtab ühendust HBase'i komponentidega ja salvestab suure hulga andmeid hajutatud viisil.

HBase'i andmete lugemine ja kirjutamine on selgitatud

Lugemis- ja kirjutamisoperatsioone kliendist Hfile'i saab näidata alloleval skeemil.

Samm 1) Klient soovib andmeid kirjutada ja omakorda suhtleb kõigepealt piirkondade serveri ja seejärel piirkondadega

Samm 2) Piirkonnad võtavad memstore'iga ühendust veeruperekonnaga seotud salvestamiseks

Samm 3) Esimesed andmed salvestatakse Memstore'i, kus andmed sorteeritakse ja pärast seda uhutakse HFile. Memstore'i kasutamise peamine põhjus on andmete salvestamine hajutatud failisüsteemi, mis põhineb rea võtmel. Memstore paigutatakse piirkonna serveri põhimällu, samal ajal kui HFile-failid kirjutatakse HDFS-i.

4. samm. Klient soovib piirkondade andmeid lugeda

Samm 5) Kliendil võib omakorda olla otsene juurdepääs Mem poele ja ta võib andmeid küsida.

6. samm. Klient pöördub andmete hankimiseks HFiles'i poole. Andmed tõmbab ja otsib klient.

Memstore hoiab poe mälus olevaid muudatusi. HBase'i regioonide objektide hierarhia on näidatud tabeli all ülevalt alla.

Tabel HBase-klastris on HBase-tabel
Piirkond HRegions esitatud tabelite jaoks
Pood See salvestab tabeli jaoks iga piirkonna ColumnFamily kohta
Memstore
  • Memstore iga kaupluse jaoks iga piirkonna jaoks laua jaoks
  • Enne HF-failidesse loputamist sorteerib see andmeid
  • Kirjutamise ja lugemise jõudlus suureneb sortimise tõttu
StoreFile StoreFiles iga poe jaoks, iga piirkonna jaoks tabeli jaoks
Blokeeri Blokid asuvad StoreFilesis

HBase'i kasutamise juhtumid

Järgnevalt on toodud HBase'i kasutamise juhtumite näited koos üksikasjaliku selgitusega selle lahenduse kohta, mida see mitmesugustele tehnilistele probleemidele pakub

Probleemipüstituses Lahendus
Telekommunikatsioonitööstus seisab silmitsi järgmiste tehniliste väljakutsetega
  • Teleside domeeni genereeritud miljardite CDR (Call detail recording) logikirjete salvestamine
  • Reaalajas juurdepääsu pakkumine CDR-i logidele ja klientide arveldusinfole
  • Paku kulutõhusat lahendust võrreldes traditsiooniliste andmebaasisüsteemidega
HBase'i kasutatakse miljardite ridade üksikasjalike kõnede kirjete salvestamiseks. Kui olemasolevale RDBMS-i andmebaasile lisatakse kuus 20 TB andmeid, halveneb jõudlus. Suure hulga andmete käsitlemiseks sel juhul on HBase parim lahendus. HBase teostab kiiret päringut ja kuvab kirjeid.
Pangandussektoril tekitab miljoneid plaate igapäevaselt. Lisaks sellele vajab pangandussektor ka analüütilist lahendust, mis suudaks rahatehingutes tuvastada pettusi Suure hulga andmete salvestamiseks, töötlemiseks ja värskendamiseks ning analüüside tegemiseks on ideaalne lahendus - HBase integreeritud mitme Hadoopi ökosüsteemi komponendiga.

Lisaks sellele saab kasutada HBase'i

  • Alati, kui on vaja kirjutada raskeid rakendusi.
  • Veebipõhise logianalüütika teostamine ja vastavusaruannete loomine.

HBase vs HDFS

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

HBASE

HDFS

  • Madala latentsusega toimingud
  • Suure latentsusega toimingud
  • Random loeb ja kirjutab
  • Kirjutage üks kord Loe mitu korda
  • Juurdepääs shellikäskude, Java-liideses oleva klient-API kaudu, REST, Avro või Thrift
  • Peamiselt juurdepääsetakse MR (Map Reduce) tööde kaudu
  • Mõlemad saab salvestada ja töödelda
  • See on mõeldud ainult hoiuruumidele

Mõni tüüpiline IT-tööstuslik rakendus kasutab HBase'i toiminguid koos Hadoopiga. Rakendused hõlmavad börsi andmeid, veebipanga andmeoperatsioone ja Hbase'i töötlemine on kõige sobivam lahendusmeetod.

Kokkuvõte

Hbase on üks NoSql veergudele suunatud hajutatud andmebaasidest, mis on saadaval Apache Foundationis. HBase annab suurema jõudluse Hadoopi või Hive'i asemel vähemate kirjete hankimiseks. Mis tahes sisendväärtust on väga lihtne otsida, kuna see toetab indekseerimist, tehinguid ja värskendamist.

Saame veebipõhist reaalajas analüüsi teha Hboopi ökosüsteemiga integreeritud Hbase abil. Sellel on andmekogumite või tabelite automaatne ja konfigureeritav killustamine ning see pakub MapReduce'i tööde teostamiseks rahulikke API-sid.