這老師的HBase的原理講的非常好,就是有一點(diǎn),老師在將實(shí)現(xiàn)原來(lái)的時(shí)候,很多關(guān)鍵點(diǎn)PPT上都沒(méi)有,只有一個(gè)類似大綱的標(biāo)題,然后屏幕就停住了,老師在口述,只能空間想象了
口述的知識(shí)點(diǎn)有挺多是錯(cuò)誤的,不夠嚴(yán)謹(jǐn)
2018-06-30
RegionServer 組成部分:
- Region:存儲(chǔ)用戶數(shù)據(jù)的最小單元,一個(gè)RegionServer中包含多個(gè)Region
- Store:對(duì)應(yīng)表的列簇,一個(gè)Region中包含多個(gè)Store
- MemStore:是一個(gè)內(nèi)存式的數(shù)據(jù)結(jié)構(gòu),一個(gè)Store中包含一個(gè)MemStore
- StoreFile:MemStore滿了之后就會(huì)把數(shù)據(jù)存儲(chǔ)到StoreFile
- HFile:多個(gè)StoreFile會(huì)被封裝成HFile,HFile最終持久化到HDFS中
- HLog:一個(gè)RegionServer包含一個(gè)HLog,用于實(shí)現(xiàn)預(yù)寫日志,保證HBase的高可用
- Region:存儲(chǔ)用戶數(shù)據(jù)的最小單元,一個(gè)RegionServer中包含多個(gè)Region
- Store:對(duì)應(yīng)表的列簇,一個(gè)Region中包含多個(gè)Store
- MemStore:是一個(gè)內(nèi)存式的數(shù)據(jù)結(jié)構(gòu),一個(gè)Store中包含一個(gè)MemStore
- StoreFile:MemStore滿了之后就會(huì)把數(shù)據(jù)存儲(chǔ)到StoreFile
- HFile:多個(gè)StoreFile會(huì)被封裝成HFile,HFile最終持久化到HDFS中
- HLog:一個(gè)RegionServer包含一個(gè)HLog,用于實(shí)現(xiàn)預(yù)寫日志,保證HBase的高可用
LSM-tree主要目標(biāo)是快速地建立索引。B-tree是建立索引的通用技術(shù),但是,在大并發(fā)插入數(shù)據(jù)的情況下,B-tree需要大量的磁盤隨機(jī)IO,很顯然,大量的磁盤隨機(jī)IO會(huì)嚴(yán)重影響索引建立的速度。特別地,對(duì)于那些索引數(shù)據(jù)大的情況(例如,兩個(gè)列的聯(lián)合索引),插入速度是對(duì)性能影響的重要指標(biāo),而讀取相對(duì)來(lái)說(shuō)就比較少。LSM-tree通過(guò)磁盤的順序?qū)?,?lái)達(dá)到最優(yōu)的寫性能,因?yàn)檫@會(huì)大大降低磁盤的尋道次數(shù),一次磁盤IO可以寫入多個(gè)索引塊。
2018-06-19
在經(jīng)典的 RDBMS 中,我們?cè)O(shè)計(jì)表結(jié)構(gòu)模型時(shí),只需要確定有多少個(gè)列即可,然后就可以對(duì)這個(gè)表進(jìn)行數(shù)據(jù)的操作。而對(duì)于 HBase 來(lái)說(shuō),設(shè)計(jì)表結(jié)構(gòu)模型時(shí)不需要確定列,只需要確定列簇(Cloumn Family)即可,列的數(shù)量根據(jù)列簇里面的數(shù)據(jù)進(jìn)行動(dòng)態(tài)伸縮,為空的列并不占用存儲(chǔ)空間。
2018-06-19