HBase-arkkitehtuuri, komponentit, tietomalli ja käyttötapaukset

Sisällysluettelo:

Anonim

Tallennusmekanismi HBasessa

HBase on sarakekohtainen tietokanta ja tiedot tallennetaan taulukoihin. Taulukot on lajiteltu RowId: n mukaan. Kuten alla on esitetty, HBasella on RowId, joka on joukko taulukossa olevia sarakeperheitä.

Kaaviossa olevat sarakeperheet ovat avainarvopareja. Jos havaitaan yksityiskohtaisesti, että jokaisella sarakeperheellä on useita sarakkeita. Levyn muistiin tallennetut sarakearvot. Jokaisella taulukon solulla on omat metatiedot, kuten aikaleima ja muut tiedot.

Tallennusmekanismi HBasessa

Seuraavat ovat HBaseen seuraavat avaintermit, jotka edustavat taulukon kaavaa

  • Taulukko : Kokoelma rivejä.
  • Rivi : Sarakeperheiden kokoelma.
  • Sarakeperhe : Sarakekokoelma.
  • Sarake : Kokoelma avainarvopareja.
  • Nimitila : Taulukkojen looginen ryhmittely.
  • Solu : {rivi, sarake, versio} -parametri määrittää täsmälleen solun määritelmän HBasessa.

Tässä opetusohjelmassa opit,

  • Tallennusmekanismi HBasessa
  • HBase-tietomalli
  • HBase-arkkitehtuuri ja sen tärkeät komponentit
  • HBase Lue ja kirjoita tietoja selitetty
  • HBasen käyttötapaukset
  • HBASE vs. HDFS

Sarake- tai rivisuuntaiset varastot

Sarake- ja rivisuuntaiset varastot eroavat toisistaan ​​säilytysmekanisminsa suhteen. Kuten me kaikki tiedämme, perinteiset relaatiomallit tallentavat tietoja rivipohjaiseen muotoon kuten tietoriveihin. Sarakekohtaiset varastot tallentavat tietotaulukoita sarakkeina ja sarakeperheinä.

Seuraava taulukko antaa joitain keskeisiä eroja näiden kahden varaston välillä

Sarakekohtainen tietokanta Rivi suuntautunut tietokanta
  • Käytämme tätä lähestymistapaa prosessin ja analyysin tilanteessa. Kuten online-analyyttinen käsittely ja sen sovellukset.
  • Verkkotapahtumaprosessit , kuten pankki- ja rahoitusalat, käyttävät tätä lähestymistapaa.
  • Tietomäärä, joka voidaan tallentaa tähän malliin, on hyvin valtava kuin petatavuissa
  • Se on suunniteltu pienelle määrälle rivejä ja sarakkeita.

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ääritetty ensisijaisiksi avaimiksi. HBase-tietomallitaulukon sarake edustaa objektien attribuutteja.

HBase-tietomalli koostuu seuraavista elementeistä,

  • Sarja taulukoita
  • Jokainen taulukko sarakeperheillä ja riveillä
  • Jokaisessa taulukossa on oltava elementti, joka on määritetty ensisijaiseksi avaimeksi.
  • Rivi-avain toimii ensisijaisena avaimena HBasessa.
  • Mikä tahansa pääsy HBase-taulukoihin käyttää tätä ensisijaista avainta
  • Jokainen HBasessa oleva sarake tarkoittaa objektia vastaavaa määritettä

HBase-arkkitehtuuri ja sen tärkeät komponentit

Alla on yksityiskohtainen HBasen arkkisekoitin komponentteineen:

HBase-arkkitehtuurikaavio

HBase-arkkitehtuuri koostuu pääosin neljästä komponentista

  • HMaster
  • HRegionserver
  • HRalueet
  • Eläintarhanhoitaja
  • HDFS

HMaster:

HMaster HBasessa on Master-palvelimen toteutus HBase-arkkitehtuurissa. Se toimii valvontagenttinä tarkkailemaan kaikkia klusterissa olevia Region Server -esiintymiä ja toimii liitäntänä kaikille metatietomuutoksille. Hajautetussa klusterin ympäristössä pääkäyttäjä toimii NameNode-palvelimella. Master suorittaa useita taustalankoja.

Seuraavat ovat tärkeitä rooleja, joita HMaster suorittaa HBasessa.

  • Sillä on tärkeä rooli suorituskyvyssä ja klusterin solmujen ylläpitämisessä.
  • HMaster tarjoaa järjestelmänvalvojan suorituskykyä ja jakaa palveluja eri aluepalvelimille.
  • HMaster määrittää alueet aluepalvelimille.
  • HMasterilla on ominaisuuksia, kuten kuormituksen tasapainotuksen ja vikasietoisuuden hallinta kuorman käsittelemiseksi klusterissa olevien solmujen yli.
  • Kun asiakas haluaa muuttaa mitä tahansa kaavaa ja muuttaa metatietotoimintoja, HMaster ottaa vastuun näistä toiminnoista.

Jotkut HMaster Interface -liittymän paljastamista menetelmistä ovat ensisijaisesti metatietoihin suuntautuneita 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 kirjoitusoperaatioita varten se on suoraan yhteydessä HRegion-palvelimiin. HMaster määrittää alueet aluepalvelimille ja tarkistaa puolestaan ​​alueiden palvelinten terveydentilan.

Koko arkkitehtuurissa meillä on useita aluepalvelimia. Hlog esiintyy alueen palvelimissa, jotka aikovat tallentaa kaikki lokitiedostot.

HBase-alueiden palvelimet:

Kun HBase Region Server vastaanottaa kirjoitus- ja lukupyyntöjä asiakkaalta, se määrittää pyynnön tietylle alueelle, jossa varsinainen sarakeperhe asuu. Asiakas voi kuitenkin ottaa suoraan yhteyttä HRegion-palvelimiin, ei tarvitse HMasterin pakollista lupaa asiakkaalle yhteydenpitoon HRegion-palvelimien kanssa. Asiakas tarvitsee HMaster-apua, kun tarvitaan metatietoihin ja kaavamuutoksiin liittyviä toimintoja.

HRegionServer on Region Server -toteutus. Se on vastuussa hajautetussa klusterissa olevien alueiden tai tietojen palvelemisesta ja hallinnasta. Aluepalvelimet toimivat Hadoop-klusterissa olevilla tietosolmuilla.

HMaster voi olla yhteydessä useisiin HRegion-palvelimiin ja suorittaa seuraavat toiminnot.

  • Alueiden isännöinti ja hallinta
  • Alueiden jakaminen automaattisesti
  • Luku- ja kirjoituspyyntöjen käsittely
  • Viestintä suoraan asiakkaan kanssa

HBase-alueet:

HRegions ovat HBase-klusterin perusrakennuselementtejä, joka koostuu taulukoiden jakaumasta ja koostuu sarakeperheistä. Se sisältää useita kauppoja, yhden kutakin sarakeperhettä varten. Se koostuu pääasiassa kahdesta komponentista, jotka ovat Memstore ja Hfile.

ZooKeeper:

HBase Zookeeper on keskitetty valvontapalvelin, joka ylläpitää kokoonpanotietoja ja tarjoaa hajautetun synkronoinnin. Hajautetulla synkronoinnilla pyritään käyttämään klusterin läpi kulkevia hajautettuja sovelluksia vastuussa koordinointipalvelujen tarjoamisesta solmujen välillä. Jos asiakas haluaa olla yhteydessä alueisiin, palvelimen asiakkaan on ensin otettava yhteys ZooKeeperiin.

Se on avoimen lähdekoodin projekti, ja se tarjoaa niin monia tärkeitä palveluita.

ZooKeeperin tarjoamat palvelut

  • Ylläpitää määritystietoja
  • Tarjoaa hajautetun synkronoinnin
  • Asiakasviestinnän perustaminen alueen palvelimien kanssa
  • Tarjoaa lyhytaikaiset solmut, jotka edustavat eri aluepalvelimia
  • Pääpalvelimien lyhytaikaisten solmujen käytettävyys käytettävissä olevien palvelimien löytämiseksi klusterista
  • Palvelinvirheiden ja verkko-osioiden seuraaminen

Master- ja HBase-orjasolmut (aluepalvelimet) rekisteröivät itsensä ZooKeeperiin. Asiakas tarvitsee pääsyn ZK (zookeeper) koorumin kokoonpanoon muodostaakseen yhteyden pää- ja aluepalvelimiin.

HBase-klusterissa olevien solmujen vikaantuessa ZKquoram laukaisee virheilmoitukset ja alkaa korjata viallisia solmuja.

HDFS:

HDFS on Hadoopin hajautettu tiedostojärjestelmä, kuten nimestä käy ilmi, että se tarjoaa hajautetun ympäristön tallennustilalle ja se on tiedostojärjestelmä, joka on suunniteltu tavalla, joka toimii hyödykelaitteistolla. Se tallentaa jokaisen tiedoston useisiin lohkoihin ja vikasietoisuuden ylläpitämiseksi lohkot replikoidaan Hadoop-klusterin yli.

HDFS tarjoaa korkean vikatoleranssin ja toimii halvalla hyödykelaitteistolla. Lisäämällä solmut klusteriin ja suorittamalla käsittely ja tallennus käyttämällä halpaa hyödykelaitteistoa, se antaa asiakkaalle parempia tuloksia verrattuna olemassa olevaan.

Tässä kuhunkin lohkoon tallennettu data replikoituu 3 solmuksi mihin tahansa siinä tapauksessa, että mikään solmu menee alas, dataa ei menetetä, sillä on asianmukainen varmuuskopiointimekanismi.

HDFS on yhteydessä HBase-komponentteihin ja tallentaa suuren määrän tietoa hajautetusti.

HBase Lue ja kirjoita tietoja selitetty

Luku- ja kirjoitusoperaatiot asiakkaasta Hfileen voidaan näyttää alla olevassa kaaviossa.

Vaihe 1) Asiakas haluaa kirjoittaa tietoja ja vuorostaan ​​kommunikoi ensin alueiden palvelimen ja sitten alueiden kanssa

Vaihe 2) Alueet ottavat yhteyttä memstoreen sarakeperheeseen liittyvän tallennuksen varalta

Vaihe 3) Ensimmäiset tiedot tallennetaan Memstoreen, jossa tiedot lajitellaan ja sen jälkeen ne huuhtoutuvat HFile-tiedostoon. Tärkein syy Memstoren käyttöön on tietojen tallentaminen hajautettuihin tiedostojärjestelmiin, jotka perustuvat riviavain. Memstore sijoitetaan Region-palvelimen päämuistiin, kun taas HF-tiedostot kirjoitetaan HDFS: ään.

Vaihe 4) Asiakas haluaa lukea tietoja alueista

Vaihe 5) Asiakkaalla voi puolestaan ​​olla suora pääsy Mem-kauppaan ja se voi pyytää tietoja.

Vaihe 6) Asiakas lähestyy HFile-tiedostoja saadakseen tiedot. Tiedot hakee ja noutaa asiakas.

Memstore pitää muistissa muutoksia myymälään. HBase-alueiden objektien hierarkia on esitetty alla olevasta taulukosta ylhäältä alas.

Pöytä HBase-taulukossa on HBase-klusteri
Alue HRalueet esitetyille taulukoille
Kauppa Se tallentaa taulukon kutakin aluetta kohti ColumnFamily
Memstore
  • Memstore kustakin myymälästä kullekin alueelle pöydälle
  • Se lajittelee tiedot ennen huuhtelua HF-tiedostoihin
  • Kirjoitus- ja lukuteho kasvaa lajittelun takia
StoreFile StoreFiles kustakin myymälästä taulukon jokaiselle alueelle
Lohko Estää StoreFilesin sisällä

HBasen käyttötapaukset

Seuraavassa on esimerkkejä HBasen käyttötapauksista, joissa on yksityiskohtainen kuvaus ratkaisusta, jonka se tarjoaa erilaisiin teknisiin ongelmiin

Ongelma Ratkaisu
Telealalla on seuraavat tekniset haasteet
  • Tallennetaan miljardeja telekommunikaatioalueen luomia lokitietueita (Call detail recording)
  • Reaaliaikaisen pääsyn tarjoaminen CDR-lokeihin ja asiakkaiden laskutustietoihin
  • Tarjoa kustannustehokkaita ratkaisuja verrattuna perinteisiin tietokantajärjestelmiin
HBasea käytetään tallentamaan miljardeja rivejä yksityiskohtaisia ​​puhelutietueita. Jos 20 Tt tietoa lisätään kuukaudessa olemassa olevaan RDBMS-tietokantaan, suorituskyky heikkenee. HBase on paras ratkaisu käsitellä suuri määrä dataa tässä käyttötapauksessa. HBase suorittaa nopean kyselyn ja näyttää tietueet.
Pankkisektorin tuottaa miljoonia levyjä päivittäin. Tämän lisäksi pankkisektori tarvitsee myös analyysiratkaisun, joka tunnistaa petokset rahaliikenteessä Suurten tietomäärien tallentamiseen, käsittelyyn ja päivittämiseen sekä analyysin suorittamiseen ihanteellinen ratkaisu on - HBase integroitu useiden Hadoop-ekosysteemikomponenttien kanssa.

Tätä lukuun ottamatta HBasea voidaan käyttää

  • Aina kun on tarpeen kirjoittaa raskaita sovelluksia.
  • Online-lokianalytiikan suorittaminen ja vaatimustenmukaisuusraporttien luominen.

HBase vs. HDFS

HBase toimii HDFS: n ja Hadoopin päällä. Joitakin keskeisiä eroja HDFS: n ja HBasen välillä ovat datatoiminnoissa ja käsittelyssä.

HBASE

HDFS

  • Matala viiveoperaatiot
  • Korkean viiveen operaatiot
  • Random lukee ja kirjoittaa
  • Kirjoita kerran Lue useita kertoja
  • Pääsy komentokäskyjen, Java-sovellusliittymän, REST: n, Avron tai Thriftin kautta
  • Pääsy ensisijaisesti MR (Map Reduce) -töiden kautta
  • Sekä varastointi että prosessointi voidaan suorittaa
  • Se on tarkoitettu vain varastotiloille

Jotkut tyypilliset IT-teolliset sovellukset käyttävät HBase-operaatioita yhdessä Hadoopin kanssa. Sovellukset sisältävät pörssitiedot, verkkopankkitiedot ja Hbase-käsittely on parhaiten sopiva ratkaisumenetelmä.

Yhteenveto

Hbase on yksi NoSql-sarakekohtaisista hajautetuista tietokannoista, jotka ovat käytettävissä apache-säätiössä. HBase antaa enemmän suorituskykyä haettaessa vähemmän tietueita kuin Hadoop tai Hive. Annetun arvon syöttäminen on erittäin helppoa, koska se tukee indeksointia, tapahtumia ja päivittämistä.

Voimme suorittaa reaaliaikaisia ​​online-analyysejä käyttämällä Hbase-integroitua Hadoop-ekosysteemiä. Siinä on automaattinen ja konfiguroitava sirpale aineistoille tai taulukoille, ja se tarjoaa levolliset sovellusliittymät MapReduce-töiden suorittamiseen.