Prehľad architektúry úložiska HBase



Architektúra HBase Storage obsahuje mnoho komponentov. Poďme sa pozrieť na funkcie týchto komponentov a vedieť, ako sa zapisujú údaje.

Apache HBase je open-source, distribuovaná, nerelačná databáza, ktorá bola vytvorená podľa vzoru Bigtable spoločnosti Google a napísaná v prostredí Java. Poskytuje podobné funkcie ako Bigtable nad Hadoop a HDFS (Hadoop Distributed Filesystem), t. J. Poskytuje chybne odolný spôsob ukladania veľkého množstva riedkych dát, ktoré sú bežné v mnohých prípadoch použitia veľkých dát. HBase sa používa na prístup na čítanie a zápis do veľkých dát v reálnom čase.





Architektúra úložiska HBase obsahuje množstvo komponentov. Pozrime sa na funkcie týchto komponentov a zistime, ako sa zapisujú údaje.

HSúbory:



HFiles tvoria nízku úroveň architektúry HBase. HFiles sú úložné súbory vytvorené na rýchle a efektívne ukladanie údajov HBase.

HMaster:

soľnička vs bábka vs kuchár

HMaster je zodpovedný za priradenie oblastí ku každému HRegionServer pri spustení HBase. Je zodpovedný za správu všetkého, čo súvisí s riadkami, tabuľkami a ich koordinačnými činnosťami. Hmaster má tiež podrobnosti o metaúdajoch.



Komponenty z HBase:

HBase má nasledujúce komponenty:

  • Tabuľka - Zahŕňa regióny
  • Región - rozsah spoločne uložených riadkov
  • Region Servers - Obsluhuje jeden alebo viac regiónov
  • Master Server - Daemon je zodpovedný za správu klastra HBase

HBase ukladá údaje priamo do HDFS a do veľkej miery sa spolieha na vysokú dostupnosť a toleranciu chýb HDFS.

Architektúra úložiska HBase:

Architektúra úložiska HBase

Všeobecne platí, že klient najskôr kontaktuje Zookeeper, aby našiel konkrétny kľúč riadku. Urobí to získaním názvu servera v aplikácii Zookeeper. S týmito informáciami môže teraz dopytovať tento server, aby získal server, ktorý obsahuje merateľný údaj. Oba tieto podrobnosti sú uložené v medzipamäti a vyhľadané sú iba raz. Nakoniec môže dopytovať metaserver a načítať server, ktorý obsahuje riadok, ktorý klient hľadá.

Keď zistí, v ktorej oblasti sa riadok nachádza, uloží tiež tieto informácie do cache a kontaktuje priamo HRegionServer. Takže v priebehu času má klient úplné informácie o tom, odkiaľ má brať riadky, bez toho, aby musel znova vyhľadávať metaserver. Po otvorení HRegion nastaví inštanciu Store pre každú HColumnFamily pre každú tabuľku. Údaje sa zapíšu, keď klient vydá požiadavku na HRegionServer, ktorý poskytne podrobnosti zodpovedajúcej inštancii HRegion. Prvým krokom je, že sa musíme rozhodnúť, či sa majú dáta najskôr zapísať do ‘Write-Ahead-Log’ (WAL) predstavovaného triedou HLog. Rozhodnutie je založené na príznaku nastavenom klientom.
Hneď ako sa dáta zapíšu do WAL, uložia sa do MemStore. Zároveň sa kontroluje Memstore, či je plný a v takom prípade sa požaduje vyprázdnenie na disk. Potom sa údaje zapíšu do súboru HF.

Máte na nás otázku? Uveďte ich v sekcii komentárov a my sa vám ozveme.

Súvisiace príspevky

Pohľady na architektúru HBase