Apache HBase on avoimen lähdekoodin hajautettu ei-relaatiotietokanta, joka on mallinnettu Googlen Bigtable-mallin mukaan ja kirjoitettu Java-muodossa. Se tarjoaa samanlaisia ominaisuuksia kuin Bigtable Hadoopin ja HDFS: n (Hadoop Distributed Filesystem) päällä, ts. Se tarjoaa vikasietoisen tavan tallentaa suuria määriä harvoja tietoja, jotka ovat yleisiä monissa suurten tietojen käyttötapauksissa. HBasea käytetään reaaliaikaiseen luku- / kirjoitusoikeuteen Big Dataan.
HBase Storage -arkkitehtuuri sisältää lukuisia komponentteja. Tarkastellaan näiden komponenttien toimintoja ja tiedetään, miten tietoja kirjoitetaan.
H-tiedostot:
HFiles muodostaa HBase-arkkitehtuurin matalan tason. HFile-tiedostot ovat tallennustiedostoja, jotka on luotu tallentamaan HBase-tietoja nopeasti ja tehokkaasti.
HMaster:
HMaster on vastuussa alueiden osoittamisesta kullekin HRegionServerille, kun HBase käynnistetään. Se on vastuussa kaikesta riveihin, taulukoihin ja niiden koordinointitoimintoihin liittyvästä toiminnasta. Hmasterilla on myös metatietojen yksityiskohdat.
Komponentit HBasesta:
HBasessa on seuraavat komponentit:
- Taulukko - Sisältää alueet
- Alue - yhdessä tallennettujen rivien alue
- Aluepalvelimet - palvelee yhtä tai useampaa aluetta
- Master Server - Daemon vastaa HBase-klusterin hallinnasta
HBase tallentaa tiedot suoraan HDFS: ään ja luottaa suuresti HDFS: n korkeaan käytettävyyteen ja vikasietoisuuteen.
HBase-tallennusarkkitehtuuri:
Yleinen kulku on, että asiakas ottaa ensin yhteyttä Zookeeperiin etsiäksesi tietyn riviavain. Se tekee niin hakemalla palvelimen nimen Zookeeperiltä. Näiden tietojen avulla se voi nyt kysyä palvelimelta saadakseen palvelimen, joka pitää sisällään metatabletin. Molemmat yksityiskohdat on tallennettu välimuistiin, ja niitä haettiin vain kerran. Lopuksi se voi kysyä metapalvelimelta ja noutaa palvelimen, jolla on asiakas etsimä rivi.
Kun se tietää, millä alueella rivi asuu, se tallentaa välimuistiin myös nämä tiedot ja ottaa yhteyttä suoraan HRegionServeriin. Asiakkaalla on siis ajan myötä täydelliset tiedot siitä, mistä rivit saadaan ilman, että hänen tarvitsee kysellä metapalvelinta uudelleen. Kun HRegion avataan, se asettaa Store-esiintymän kullekin HColumnFamily-ryhmälle jokaista taulukkoa varten. Tiedot kirjoitetaan, kun asiakas lähettää pyynnön HRegionServerille, joka antaa yksityiskohdat vastaavalle HRegion-ilmentymälle. Ensimmäinen vaihe on, että meidän on päätettävä, kirjoitetaanko tiedot ensin HLog-luokan edustamaan 'Write-Ahead-Log' (WAL) -kirjaan. Päätös perustuu asiakkaan asettamaan lippuun.
Kun tiedot on kirjoitettu WAL: ään, ne sijoitetaan MemStoreen. Samanaikaisesti Memstore tarkistetaan, onko se täynnä, ja siinä tapauksessa vaaditaan huuhtelua levylle. Sitten tiedot kirjoitetaan HFileen.
Onko sinulla kysymys meille? Mainitse ne kommenttiosassa ja palaamme sinuun.
Aiheeseen liittyvät julkaisut
ero menetelmän ylikuormituksen ja ohittamisen välillä
Oivalluksia HBase-arkkitehtuurista