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