hbase架構及hbase的讀寫過程

hbase架構及hbase的讀寫過程

Hbase
寫過程
Client訪問ZK,根據ROOT表獲取meta表所在Region的位置信息,並將該位置信息寫入Client Cache。
(注:爲了加快數據訪問速度,我們將元數據、Region位置等信息緩存在Client Cache中。)

Client讀取meta表,再根據meta表中查詢得到的Namespace、表名和RowKey等相關信息,獲取將要寫入Region的位置信息(此過程即Region三層定位,如下圖),最後client端會將meta表寫入Client Cache。

Client向上一步HRegionServer發出寫請求,HRegionServer先將操作和數據寫入HLog(預寫日誌,Write Ahead Log,WAL),再將數據寫入MemStore,並保持有序。
(聯想:HDFS中也是如此,EditLog寫入時機也是在真實讀寫之前發生)

當MemStore的數據量超過閾值時,將數據溢寫磁盤,生成一個StoreFile文件。
當Store中StoreFile的數量超過閾值時,將若干小StoreFile合併(Compact)爲一個大StoreFile。
當Region中最大Store的大小超過閾值時,Region分裂(Split),等分成兩個子Region。
在這裏插入圖片描述
region 三層定位
讀過程
獲取將要讀取Region的位置信息(同讀的1、2步)。
Client向HRegionServer發出讀請求。
HRegionServer先從MemStore讀取數據,如未找到,再從StoreFile中讀取。

待會總結 先看學習網址

學習網址:https://blog.csdn.net/whdxjbw/article/details/81107285

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