關鍵元件 --讀快取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...