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:

HBase Archirakenne
HBase Architecture Kaavio

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

  • Tallentaa miljardeja televiestintäverkkotunnuksen luomia CDR-lokitietueita (Call yksityiskohtainen tallennus).
  • Tarjoaa reaaliaikaisen pääsyn asiakkaiden CDR-lokeihin ja laskutustietoihin
  • Tarjoa kustannustehokas ratkaisu perinteisiin tietokantajärjestelmiin verrattuna
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.

Tallennusmekanismi HBaseen
Tallennusmekanismi HBaseen

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.

HBase Lue ja kirjoita tietoja

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
  • Memstore jokaiselle myymälälle taulukon kunkin alueen osalta
  • Se lajittelee tiedot ennen huuhtelua HFilesiin
  • Kirjoitus- ja lukusuorituskyky paranee lajittelun ansiosta
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.