HBase ArchiTecture: Käyttötapaukset, komponentit ja tietomalli
HBase Archirakenne ja sen tärkeät osat
HBase-arkkitehtuuri koostuu pääasiassa neljästä komponentista
- HMaster
- HRegionserver
- HAlueet
- Eläintarhanhoitaja
- HDFS
Alla on yksityiskohtainen HBase-arkkitehtuuri ja komponentit:

HMaster
HMaster HBase on Master-palvelimen toteutus HBase-arkkitehtuurissa. Se toimii valvonta-agenttina, joka valvoo kaikkia klusterissa olevia Region Server -esiintymiä ja toimii käyttöliittymänä kaikille metatietojen muutoksille. Hajautetussa klusteriympäristössä Master toimii NameNodessa. Master ajaa useita taustasäikeitä.
Seuraavat ovat tärkeitä tehtäviä, joita HMaster suorittaa HBase-ohjelmassa.
- Sillä on tärkeä rooli suorituskyvyn ja klusterin solmujen ylläpidon kannalta.
- HMaster tarjoaa järjestelmänvalvojan suorituskyvyn ja jakaa palvelut eri alueen palvelimille.
- HMaster määrittää alueet aluepalvelimille.
- HMasterilla on ominaisuuksia, kuten kuormituksen tasapainotuksen ja vikasietoisuuden ohjaaminen klusterin solmujen kuorman käsittelemiseksi.
- Kun asiakas haluaa muuttaa skeemaa ja metatietotoimintoja, HMaster ottaa vastuun näistä toiminnoista.
Jotkut HMaster Interfacen paljastamista menetelmistä ovat pääasiassa metatietosuuntautuneita menetelmiä.
- Taulukko (createTable, removeTable, ota käyttöön, poista käytöstä)
- ColumnFamily (lisää sarake, muokkaa saraketta)
- Alue (siirrä, määritä)
Asiakas kommunikoi kaksisuuntaisesti sekä HMasterin että ZooKeeperin kanssa. Luku- ja kirjoitustoimintoja varten se ottaa suoraan yhteyttä HRegion-palvelimiin. HMaster määrittää alueita aluepalvelimille ja tarkistaa vuorostaan aluepalvelimien kunnon.
Koko arkkitehtuurissa meillä on useita aluepalvelimia. Hlog on läsnä alueen palvelimissa, jotka tallentavat kaikki lokitiedostot.
HBase-alueen palvelimet
Kun HBase Region Server vastaanottaa kirjoitus- ja lukupyyntöjä asiakkaalta, se määrittää pyynnön tietylle alueelle, jossa varsinainen sarakeperhe sijaitsee. Asiakas voi kuitenkin ottaa suoraan yhteyttä HRegion-palvelimiin. HRegion-palvelimien kanssa kommunikointiin ei tarvita HMasterin pakollista lupaa asiakkaalle. Asiakas tarvitsee HMaster-apua, kun tarvitaan metatietoihin ja skeeman muutoksiin liittyviä toimintoja.
HRegionServer on aluepalvelintoteutus. Se on vastuussa hajautetussa klusterissa olevien alueiden tai tietojen palvelemisesta ja hallinnasta. Aluepalvelimet toimivat Hadoop-klusterissa olevissa datasolmuissa.
HMaster voi ottaa yhteyttä useisiin HRegion-palvelimiin ja suorittaa seuraavat toiminnot.
- Alueiden isännöinti ja hallinta
- Alueiden jakaminen automaattisesti
- Käsittelee luku- ja kirjoituspyyntöjä
- Kommunikoi suoraan asiakkaan kanssa
HBase-alueet
HRegionit ovat taulukkojakaumasta koostuvan HBase-klusterin perusrakennuselementtejä, jotka koostuvat sarakeperheistä. Se sisältää useita kauppoja, yksi jokaiselle sarakeperheelle. Se koostuu pääasiassa kahdesta osasta, jotka ovat Memstore ja Hfile.
ZooKeeper
HBase Zookeeper on keskitetty valvontapalvelin, joka ylläpitää konfigurointitietoja ja tarjoaa hajautetun synkronoinnin. Hajautettu synkronointi tarkoittaa klusterin poikki käynnissä olevien hajautettujen sovellusten käyttöä, ja se on vastuussa koordinointipalvelujen tarjoamisesta solmujen välillä. Jos asiakas haluaa kommunikoida alueiden kanssa, palvelimen asiakkaan tulee ensin lähestyä ZooKeeperiä.
Se on avoimen lähdekoodin projekti, ja se tarjoaa niin monia tärkeitä palveluita.
Palvelut ZooKeeper
- Ylläpitää konfigurointitietoja
- Tarjoaa hajautetun synkronoinnin
- Asiakasviestinnän muodostaminen alueen palvelimien kanssa
- Tarjoaa lyhytaikaisia solmuja, jotka edustavat eri alueen palvelimia
- Pääpalvelinten lyhytaikaisten solmujen käytettävyys klusterin käytettävissä olevien palvelimien löytämiseksi
- Palvelimen vikojen ja verkkoosioiden seurantaan
Pää- ja HBase-orjasolmut (aluepalvelimet) rekisteröivät itsensä ZooKeeperiin. Asiakas tarvitsee pääsyn ZK(zookeeper) -koorumin kokoonpanoon muodostaakseen yhteyden isäntä- ja aluepalvelimiin.
HBase-klusterissa olevien solmujen vian aikana ZKquoram laukaisee virheilmoituksia ja alkaa korjata epäonnistuneita solmuja.
HDFS
HDFS on Hadoop jaettu File System, kuten nimestä voi päätellä, se tarjoaa hajautetun ympäristön tallennusta varten ja se on tiedostojärjestelmä, joka on suunniteltu toimimaan peruslaitteistoilla. Se tallentaa jokaisen tiedoston useisiin lohkoihin, ja vikasietoisuuden ylläpitämiseksi lohkot kopioidaan Hadoop-klusterissa.
HDFS tarjoaa korkean vikasietokyvyn ja toimii halvalla hyödykelaitteistolla. Lisäämällä solmuja klusteriin ja suorittamalla prosessointia ja tallennusta käyttämällä halpoja hyödykelaitteistoja, se antaa asiakkaalle parempia tuloksia nykyiseen verrattuna.
Tässä kuhunkin lohkoon tallennetut tiedot replikoituvat 3 solmuun missä tahansa tapauksessa, kun jokin solmu kaatuu, tietoja ei menetetä, sillä on asianmukainen varmuuskopion palautusmekanismi.
HDFS ottaa yhteyttä HBase-komponentteihin ja tallentaa suuren määrän tietoa hajautetusti.
HBase-tietomalli
HBase-tietomalli on joukko komponentteja, jotka koostuvat taulukoista, riveistä, sarakeperheistä, soluista, sarakkeista ja versioista. HBase-taulukot sisältävät sarakeperheitä ja rivejä, joiden elementit on määritelty ensisijaiseksi avaimeksi. HBase-tietomallitaulukon sarake edustaa objektien attribuutteja.
HBase-tietomalli koostuu seuraavista elementeistä,
- Pöydät
- Jokainen taulukko sarakeperheineen ja riveineen
- Jokaisessa taulukossa on oltava elementti, joka on määritelty ensisijaiseksi avaimeksi.
- Rivinäppäin toimii ensisijaisena avaimena HBase-ohjelmassa.
- Kaikki pääsy HBase-taulukoihin käyttää tätä ensisijaista avainta
- Jokainen HBasen sarake tarkoittaa objektia vastaavaa attribuuttia
HBase-käyttötapaukset
Seuraavassa on esimerkkejä HBase-käyttötapauksista, joissa on yksityiskohtainen selitys sen tarjoamasta ratkaisusta erilaisiin teknisiin ongelmiin
Ongelmalausunto | Ratkaisu |
---|---|
Teleteollisuus kohtaa seuraavat tekniset haasteet
|
HBasea käytetään tallentamaan miljardeja rivejä yksityiskohtaisia puhelutietueita. Jos olemassa olevaan RDBMS-tietokantaan lisätään 20 Tt tietoa kuukaudessa, suorituskyky heikkenee. HBase on paras ratkaisu suuren tietomäärän käsittelemiseen tässä käyttötapauksessa. HBase suorittaa nopeat kyselyt ja näyttää tietueita. |
- Pankkiala tuottaa miljoonia tietueita päivittäin. Tämän lisäksi pankkiala tarvitsee myös analytiikkaratkaisun, joka pystyy havaitsemaan petokset rahaliikenteessä | Ihanteellinen ratkaisu suurien tietomäärien tallentamiseen, käsittelyyn ja päivittämiseen ja analytiikan suorittamiseen on HBase integroituna useisiin Hadoop-ekosysteemikomponentteihin. |
Sen lisäksi HBasea voidaan käyttää
- Aina kun on tarve kirjoittaa raskaita hakemuksia.
- Online-lokin analytiikan suorittaminen ja vaatimustenmukaisuusraporttien luominen.
Tallennusmekanismi HBaseen
HBase on sarakepohjainen tietokanta ja tiedot tallennetaan taulukoihin. Taulukot on lajiteltu rivitunnuksen mukaan. Kuten alla näkyy, HBase sisältää RowId:n, joka on kokoelma useita taulukossa olevia sarakeperheitä.
Kaavassa olevat sarakeperheet ovat avainarvo-pareja. Jos tarkastelemme yksityiskohtaisesti jokaista sarakeperhettä, jossa on useita sarakkeita. Levymuistiin tallennetut sarakearvot. Jokaisella taulukon solulla on omat metatietonsa, kuten aikaleima ja muut tiedot.
HBaseen tullessa seuraavat avaintermit edustavat taulukkokaaviota
- Pöytä: Olemassa olevien rivien kokoelma.
- Rivi: Kolumniperheiden kokoelma.
- Kolumniperhe: Sarakkeiden kokoelma.
- Sarake: Avain-arvo-parien kokoelma.
- nimiavaruus: Taulukoiden looginen ryhmittely.
- Solu: {rivi, sarake, versio} monikko määrittää tarkasti solun määritelmän HBase-ohjelmassa.
Sarakesuuntaiset vs rivisuuntaiset varastot
Sarake- ja rivisuuntaiset varastot eroavat tallennusmekanismiltaan. Kuten me kaikki tiedämme, perinteiset relaatiomallit tallentavat tiedot rivipohjaisessa muodossa, kuten tietoriveinä. Sarakesuuntaiset varastot tallentavat tietotaulukot sarakkeiden ja sarakeperheiden mukaan.
Seuraavassa taulukossa on joitakin keskeisiä eroja näiden kahden tallennustilan välillä
Sarakepohjainen tietokanta | Rivisuuntautunut tietokanta |
---|---|
Käytämme tätä lähestymistapaa prosessien ja analytiikan osalta. Kuten Online-analyyttinen käsittely ja se on sovelluksia. | Online-tapahtumaprosessi kuten pankki- ja rahoitusalat käyttävät tätä lähestymistapaa. |
Tähän malliin tallennettavan tiedon määrä on petatavuina mitattuna erittäin suuri | Se on suunniteltu pienelle määrälle rivejä ja sarakkeita. |
HBase luku- ja kirjoitustietojen selitys
Luku- ja kirjoitustoiminnot asiakaskoneesta H-tiedostoon voidaan näyttää alla olevassa kaaviossa.
Vaihe 1) Asiakas haluaa kirjoittaa tietoja ja kommunikoi ensin aluepalvelimen ja sitten alueiden kanssa
Vaihe 2) Alueet, jotka ottavat yhteyttä muistikauppaan sarakeperheeseen liittyvää tallennusta varten
Vaihe 3) Ensin tiedot tallentuvat Memstoreen, jossa tiedot lajitellaan ja sen jälkeen ne huuhdellaan HFileen. Pääsyy Memstoren käyttöön on tietojen tallentaminen hajautettuun tiedostojärjestelmään riviavaimen perusteella. Memstore sijoitetaan alueen palvelimen päämuistiin, kun taas HFiles kirjoitetaan HDFS:ään.
Vaihe 4) Asiakas haluaa lukea tietoja alueista
Vaihe 5) Asiakkaalla puolestaan voi olla suora pääsy Mem-kauppaan ja se voi pyytää tietoja.
Vaihe 6) Asiakas lähestyy HFilesia saadakseen tiedot. Asiakas hakee ja noutaa tiedot.
Memstore säilyttää myymälän muistissa olevat muutokset. HBase-alueiden objektien hierarkia on alla olevan taulukon mukainen ylhäältä alas.
Pöytä | HBase-taulukko HBase-klusterissa |
Alue | HAluet esitettyjä taulukoita varten |
Kauppa | Se tallentaa taulukon kunkin alueen ColumnFamily-kohtaan |
Memstore |
|
StoreFile | StoreFiles jokaiselle kaupalle taulukon jokaiselle alueelle |
Tukkia | StoreFilesin sisällä olevat lohkot |
HBase vs. HDFS
HBase toimii HDFS:n ja Hadoop. Jotkut tärkeimmät erot HDFS:n ja HBasen välillä liittyvät datatoimintoihin ja käsittelyyn.
HBASE | HDFS |
---|---|
Pienen latenssin toiminnot | Korkean latenssin toiminnot |
Satunnainen lukee ja kirjoittaa | Kirjoita kerran Lue monta kertaa |
Pääsy kautta shell-komennot, asiakassovellusliittymä sisään Java, REST, Avro tai Thrift | Pääsy ensisijaisesti MR (Map Reduce) -töiden kautta |
Sekä varastointi että prosessi voidaan suorittaa | Se on tarkoitettu vain varastotiloihin |
Jotkut tyypilliset IT-teollisuuden sovellukset käyttävät HBase-toimintoja yhdessä Hadoopin kanssa. Sovelluksia ovat pörssitiedot, verkkopankkidatatoiminnot ja käsittely Hbase on sopivin ratkaisutapa.
Yhteenveto
- HBase-arkkitehtuurin komponentit: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
- HMaster in HBase on Master-palvelimen toteutus HBase-arkkitehtuurissa.
- Kun HBase Region Server vastaanottaa kirjoitus- ja lukupyyntöjä asiakkaalta, se määrittää pyynnön tietylle alueelle, jossa todellinen sarakeperhe sijaitsee
- HRegionit ovat taulukkojakaumasta koostuvan HBase-klusterin perusrakennuselementtejä, jotka koostuvat sarakeperheistä.
- HBase Zookeeper on keskitetty valvontapalvelin, joka ylläpitää konfigurointitietoja ja tarjoaa hajautetun synkronoinnin.
- HDFS tarjoaa korkean vikasietokyvyn ja toimii halvalla hyödykelaitteistolla.
- HBase Data Model on joukko komponentteja, jotka koostuvat taulukoista, riveistä, sarakeperheistä, soluista, sarakkeista ja versioista.
- Sarake- ja rivisuuntaiset varastot eroavat tallennusmekanismiltaan.