Pangkalahatang-ideya ng HBase Storage Architecture



Mayroong arkitektura ng HBase Storage na binubuo ng maraming mga bahagi. Tingnan natin ang mga pag-andar ng mga sangkap na ito at malaman kung paano nakasulat ang data.

Ang Apache HBase ay isang bukas na mapagkukunan, naipamahagi, hindi pang-ugnayang database na nagmomodelo pagkatapos ng Google's Bigtable at nakasulat sa Java. Nagbibigay ito ng mga kakayahang katulad ng Bigtable sa tuktok ng Hadoop at HDFS (Hadoop Distraced Filesystem) ibig sabihin, nagbibigay ito ng mapagparaya na paraan ng pag-iimbak ng maraming dami ng kalat-kalat na data, na karaniwan sa maraming malalaking kaso ng paggamit ng data. Ginagamit ang HBase para sa real time na basahin / isulat ang pag-access sa Big Data.





Ang arkitektura ng HBase Storage ay naglalaman ng maraming mga bahagi. Tingnan natin ang mga pagpapaandar ng mga sangkap na ito at malaman kung paano nakasulat ang data.

HFiles:



Bumubuo ang HFiles ng mababang antas ng arkitektura ng HBase. Ang HFiles ay mga file ng imbakan na nilikha upang maiimbak ang data ng HBase nang mabilis at mahusay.

HMaster:

Responsable ang HMaster na italaga ang mga rehiyon sa bawat HRegionServer kapag nagsimula ang HBase. Ito ay responsable para sa pamamahala ng lahat na nauugnay sa mga hilera, talahanayan at kanilang mga aktibidad sa koordinasyon. Ang Hmaster ay mayroon ding mga detalye ng metadata.



Mga Bahagi ng HBase:

Ang HBase ay may mga sumusunod na sangkap:

kailan gagamitin ang java na ito
  • Talahanayan - Bumubuo ng Mga Rehiyon
  • Rehiyon - Saklaw ng mga hilera na nakaimbak nang magkasama
  • Mga Servers ng Rehiyon - Naghahatid ng isa o higit pang mga rehiyon
  • Master Server - Si Daemon ay responsable para sa pamamahala ng HBase cluster

Ang HBase ay nag-iimbak ng data nang direkta sa HDFS at umaasa nang malaki sa Mataas na Pagiging Magagamit at Pagkukunsensya ng Fault ng HDFS.

Arkitektura ng Storage ng HBase:

HBase Storage Architecture

Ang pangkalahatang daloy ay ang isang Client na nakikipag-ugnay sa Zookeeper muna upang makahanap ng isang partikular na key ng hilera. Ginagawa ito sa pamamagitan ng pagkuha ng pangalan ng server mula sa Zookeeper. Gamit ang impormasyong ito maaari na itong magtanong sa server na iyon upang makuha ang server na humahawak sa metatable. Ang parehong mga detalyeng ito ay naka-cache at isang beses lamang tumingin. Panghuli, maaari itong magtanong sa metaserver at kunin ang server na may hilera na hinahanap ng kliyente.

Kapag nalalaman nito sa kung anong rehiyon ang naninirahan sa hilera, nai-cache din nito ang impormasyong ito at direktang nakikipag-ugnay sa HRegionServer. Kaya't sa paglipas ng panahon ang Client ay may kumpletong impormasyon kung saan kukuha ng mga hilera mula nang hindi na kinakailangang magtanong muli sa metaserver. Kapag binuksan ang HRegion, nagtatakda ito ng isang halimbawa ng Store para sa bawat HColumnFamily para sa bawat mesa. Ang data ay nakasulat kapag ang Client ay naglabas ng isang kahilingan sa HRegionServer na nagbibigay ng mga detalye sa pagtutugma ng halimbawa ng HRegion. Ang unang hakbang ay kailangan nating magpasya kung ang data ay dapat unang isulat sa 'Isulat-Ahead-Log' (WAL) na kinatawan ng klase ng HLog. Ang desisyon ay batay sa watawat na itinakda ng kliyente.
Kapag nakasulat ang data sa WAL ay inilalagay ito sa MemStore. Sa parehong oras, ang Memstore ay naka-check kung ito ay puno at sa kasong iyon ang isang flush sa disk ay hiniling. Pagkatapos ang data ay nakasulat sa HFile.

May tanong ba sa amin? Nabanggit ang mga ito sa seksyon ng mga komento at babalikan ka namin.

Mga Kaugnay na Post

Mga Pananaw sa HBase Architecture

ano ang deadlock sa java