HBase讀寫流程詳解

2021-10-19 08:48:12 字數 1049 閱讀 9763

獲取元資料:

客戶端從zookeeper中獲取mata表的regionserver、region位置資訊

讀取meta表的表資料

找到對應的region:

根據namespace、表名、rowkey從mata表中獲取對應的regionserver、region位置資訊

找到對應的regionserver、region

讀取資料:

根據列簇判斷到哪些store上讀

從對應的store中的memstore找資料,再去blockcache中找,如果沒有,再到storefile上找

最後regionserver把讀取到的資料響應給客戶端

1-4點與讀資料流程是類似的:

獲取元資料:

客戶端從zookeeper中mata表的regionserver、region位置資訊

讀取meta表資料

找到對應的region:

根據namespace、表名,再根據rowkey是否匹配某個region的startkey、endkey,獲取對應的regionserver、region位置資訊

找到對應的regionserver、region

寫入資料:

根據列簇判斷寫入那哪些store

然後將資料寫入到對應store中的memstore

menstore大小到達128m或memstore中的資料存在已超出一小時,會自動將資料從menstore刷寫到storefile中

溢寫合併

補充:in-memory合併

HBase 讀寫流程

1.讀流程 client先訪問zookeeper,從meta表讀取region的位置,然後讀取meta表中的資料。meta中又儲存了使用者表的region資訊 根據namespace 表名和rowkey在meta表中找到對應的region資訊 找到這個region對應的regionserver 查詢...

HBase讀寫流程

1 client先訪問zookeeper,從meta表讀取region的位置,然後讀取meta表中的資料。meta中又儲存了使用者表的region資訊 2 根據namespace 表名和rowkey在meta表中找到對應的region資訊 3 找到這個region對應的regionserver 4 ...

HBase讀寫流程

寫流程參考 1.首先,客戶端需要獲知其想要讀取的資訊的region的位置,這個時候,client訪問hbase上資料時並不需要hmaster參與 hmaster僅僅維護著table和region的元資料資訊,負載很低 只需要訪問zookeeper,從meta表獲取相應region資訊 位址和埠等 c...