存儲系統總結(未完)

1)全內存存儲

內存存儲索引和數據

 

2)內存+磁盤

內存存儲索引等,磁盤存儲數據文件

索引主要有hash和B+樹等;

磁盤數據文件大多采用日誌性數據文件;只在文件末尾追加而不修改文件,寫入和更新是追加新記錄,刪除也是追加記錄(記錄的value爲特殊的值);此外,還有定期merge數據文件的過程,以免數據文件過多過大(隨機io轉換爲順序io,加快讀寫效率)。

 

hbase中使用b+樹索引數據(根據row key )所在的Region(一個表由多個Region組成,一個Region包括多個store,每個store存儲一個列簇,每個Strore又由一個memStore和0至多個StoreFile組成)。

memstore中的數據是排序的,到達一定大小就凍結,生成storefile。

hbase用bloom filter算法檢測某個值是否在一個文件中(讀數據時,需要從一系列文件中和memfile中讀取值)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章