Hbase讀流程詳解

2021-10-21 04:11:11 字數 741 閱讀 7304

關鍵元件 --讀快取block cache(磁碟讀的資料)  memstore hstore

定位操作和寫流程中的一致關鍵字zk meta-region-server meta表所在位置   meta表結構  根據table和row-key所在範圍 定位region

讀操作:

記憶體 磁碟 一起都讀 讀完後要合併merge 比較時間戳  讀快取裡存的是block 塊大小 64k 索引

合併的時候 磁碟有3個過濾 時間rowkey和布隆過濾器此檔案是否需要的

因為刷寫一次就一次檔案所以有小檔案問題

沒有master 資料讀寫都可以   但是ddl語句是不行的  元資料是行的 

小合併和大合併

小檔案是自動合併 較常用    預設3   compactionthreshold  乙個store裡面允許存的大於等於3個 開始自動合併  不是立馬觸發的

搜尋compact

大合併因為非常耗資源一般都是關掉  預設7天

在合併過程中 會清理部分過期和刪除的資料

合併過程是rewrite的過程   

lrucache演算法 最近最少使用演算法  hashmap

hfile 通過命令直接檢視的  

HBase的寫流程和讀流程

1.獲取meta表的rootregion位置資訊 在客戶端寫程序時,第一次寫時,client先通過zookeeper獲取到meta表對應的region位置資訊,然後加入到程序快取中,後續再讀寫時,直接讀取快取的meta資訊對應的region資訊就行.2.找到資料要寫在哪個region上 根據獲取到的...

HBase之寫流程與讀流程

hfile檔案 儲存在磁碟的hbase表資料檔案,格式為hfile。資料塊為儲存單元,預設認大小64kb。memstore 寫快取,由於hfile中的資料要求是有序的,資料是先在memstore中,排好序後,再刷寫到hfile.每次刷寫都會形成乙個新的hfile。wal 資料會先寫wal write...

HBase讀寫流程詳解

獲取元資料 客戶端從zookeeper中獲取mata表的regionserver region位置資訊 讀取meta表的表資料 找到對應的region 根據namespace 表名 rowkey從mata表中獲取對應的regionserver region位置資訊 找到對應的regionserver...