Hbase的架構設計和存儲

Hbase概念:高可靠诗赌、高性能、面向列秸弛、可伸縮的分布式存儲系統(tǒng)铭若,可以存儲海量數(shù)據(jù)并對海量數(shù)據(jù)進行檢索。利用HBase 技術可在廉價PC 上搭建起大規(guī)模結構化存儲集群递览。HBase使用HDFS 作為底層文件存儲系統(tǒng)叼屠,在其上可以運行MapReduce 批量處理數(shù)據(jù),使用ZooKeeper 作為協(xié)同服務組件绞铃。

HBase 的特性:HBase 還是一種非關系型數(shù)據(jù)庫镜雨,即NoSQL 數(shù)據(jù)庫。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1.容量巨大 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?HBase 的單表可以有百億行儿捧、百萬列荚坞,數(shù)據(jù)矩陣橫向和縱向兩個維度所支持的數(shù)據(jù)量級都非常具 ?有彈性。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2. 面向列 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?HBase 是面向列的存儲和權限控制菲盾,并支持列獨立檢索颓影。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3. 擴展性? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? HBase 底層文件存儲依賴HDFS,從“基因”上決定了其具備可擴展性懒鉴。HBase 的Region 和RegionServer 的概念對應的數(shù)據(jù)可以分區(qū)诡挂,分區(qū)后數(shù)據(jù)可以位于不同的機器上,所以在HBase 核心架構層面也具備可擴展性。HBase 的擴展性是熱擴展璃俗,在不停止現(xiàn)有服務的前提下奴璃,可以隨時添加或者減少節(jié)點。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4. 高可靠性 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?HBase 提供WAL 和Replication 機制旧找。前者保證了數(shù)據(jù)寫入時不會因集群異常而導致寫入數(shù)據(jù)的丟失溺健;后者保證了在集群出現(xiàn)嚴重問題時,數(shù)據(jù)不會發(fā)生丟失或者損壞钮蛛。而且HBase 底層使用HDFS鞭缭,HDFS 本身的副本機制很大程度上保證了HBase 的高可靠性。同時魏颓,協(xié)調(diào)服務的ZooKeeper 組件具備高可用性和高可靠性岭辣。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?5. 高性能 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 底層的LSM 數(shù)據(jù)結構和Rowkey 有序排列等架構上的獨特設計,使得HBase 具備非常高的寫入性能甸饱。Region 切分沦童、主鍵索引和緩存機制使得HBase 在海量數(shù)據(jù)下具備一定的隨機讀取性能,該性能針對Rowkey 的查詢能夠達到毫秒級別叹话。同時偷遗,HBase 對于高并發(fā)的場景也具備很好的適應能力。

Hbase與Hadoop/HDFS:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? HBase 使用HDFS 作為底層存儲系統(tǒng)驼壶。HBase 在 HDFS 之上通過更加復雜的“數(shù)據(jù)結構和算法”提供了高并發(fā)實時隨機寫和高并發(fā)實時點讀及掃描的特性氏豌,實現(xiàn)了高效的隨機讀寫功能。如LSM(內(nèi)存+順序寫磁盤)的方式热凹。

Hbase與傳統(tǒng)數(shù)據(jù)庫:

關系型數(shù)據(jù)庫 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Hbase

支持向上擴展(服務器升級) ? ? ? ? ? ?支持向外擴展 (添加新的服務器)

使用SQL查詢 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 使用API和MapReduce訪問數(shù)據(jù)

面向行? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 面向列(為聚集存儲設計更好的壓縮和解壓算法)

適合結構化數(shù)據(jù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?適合結構化和非結構化數(shù)據(jù)

當有海量數(shù)據(jù)需要處理時泵喘,可以選擇Hbase

Hbase在進行JOIN和多表合并時查詢性能不好。


Hbase架構設計


Hbase架構圖

客戶端Client

整個集群的訪問入口 般妙,使用HBase的RPC機制與HMaster和HRegionServer進行通信纪铺。對于管理類操作,Client 與HMaster 進行RPC 通信碟渺;對于數(shù)據(jù)讀寫類操作鲜锚,Client 與RegionServer 進行RPC 交互。包含訪問HBase的接口苫拍,并維護cache來加強對HBase的訪問烹棉。

協(xié)調(diào)服務組件ZooKeeper

ZooKeeper Quorum(隊列)負責管理HBase 中多HMaster 的選舉、服務器之間狀態(tài)同步等怯疤。HBase 中ZooKeeper 實例存儲HBase 元數(shù)據(jù)信息浆洗、實時監(jiān)控RegionServer、存儲所有Region 的尋址入口.保證任何時候集群中只有一個HMaster集峦。

主節(jié)點HMaster

HMaster沒有單節(jié)點問題伏社,Hbase中可以啟動多個HMaster抠刺,通過Zookeeper的Master Election 機制保證總有一個Master在運行,主要負責Table和Region的管理工作摘昌。管理用戶對表的增刪查改操作速妖。管理HRegionServer的負載均衡,調(diào)整Region分布聪黎。Region Split之后罕容,負責新Region的分布。在HRegionServer停機后稿饰,負責失效HRegioinServer上Region遷移工作妄痪。

Region 節(jié)點HRegionServer

HRegionServer 主要負責響應用戶I/O 請求沧踏,向HDFS 文件系統(tǒng)中讀寫數(shù)據(jù)霎桅。


HBase 存儲


存儲單元Cell


HStore 存儲是HBase 存儲的核心宣赔, 由兩部分組成:MemStore 和StoreFile。MemStore 是Sorted Memory Buffer侣姆,用戶寫入的數(shù)據(jù)首先會放入MemStore 中生真,當MemStore 滿了以后會緩沖(flush)成一個StoreFile(底層實現(xiàn)是HFile,只有當storeFile滿了之后才會將數(shù)據(jù)存儲到HFile),當StoreFile 文件數(shù)量增長到一定閾值捺宗,會觸發(fā)Compact 操作柱蟀,將多個StoreFiles 合并成一個StoreFile,在合并過程中會進行版本合并和數(shù)據(jù)刪除蚜厉,因此可以看出HBase 其實只有增加數(shù)據(jù)产弹,所有的更新和刪除操作都是在后續(xù)的Compact 過程中進行的,這使得用戶的寫操作只要進入內(nèi)存中就可以立即返回弯囊,保證了HBase I/O 的高性能。StoreFiles 在觸發(fā)Compact 操作后胶果,會逐步形成越來越大的StoreFile匾嘱,當單個StoreFile大小超過一定閾值后,會觸發(fā)Split 操作早抠,同時把當前Region 分裂成2 個Region霎烙,父Region會下線,新分裂的2 個子Region 會被HMaster 分配到相應的HRegionServer 上蕊连,使得原先1個Region 的壓力得以分流到2 個Region 上悬垃。每個Region除了包含多個store外,還包含一個HLOG(預寫式日志(WAL)甘苍,HBase在寫動作完成之前先寫入到WAL尝蠕,這樣如果內(nèi)存中的數(shù)據(jù)還沒有寫入到硬盤上就發(fā)生了崩潰,可以根基HLOG進行恢復载庭。


最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末看彼,一起剝皮案震驚了整個濱河市廊佩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌靖榕,老刑警劉巖标锄,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異茁计,居然都是意外死亡料皇,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門星压,熙熙樓的掌柜王于貴愁眉苦臉地迎上來践剂,“玉大人,你說我怎么就攤上這事租幕∠鲜郑” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵劲绪,是天一觀的道長男窟。 經(jīng)常有香客問我,道長贾富,這世上最難降的妖魔是什么歉眷? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮颤枪,結果婚禮上汗捡,老公的妹妹穿的比我還像新娘。我一直安慰自己畏纲,他們只是感情好扇住,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盗胀,像睡著了一般艘蹋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上票灰,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天女阀,我揣著相機與錄音,去河邊找鬼屑迂。 笑死浸策,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的惹盼。 我是一名探鬼主播庸汗,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼手报!你這毒婦竟也來了夫晌?” 一聲冷哼從身側響起雕薪,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎晓淀,沒想到半個月后所袁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡凶掰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年燥爷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片懦窘。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡前翎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出畅涂,到底是詐尸還是另有隱情港华,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布午衰,位于F島的核電站立宜,受9級特大地震影響,放射性物質發(fā)生泄漏臊岸。R本人自食惡果不足惜橙数,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望帅戒。 院中可真熱鬧灯帮,春花似錦、人聲如沸逻住。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瞎访。三九已至腻贰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間装诡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工践盼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鸦采,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓咕幻,卻偏偏與公主長得像渔伯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子肄程,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容