[hbase] hbase寫操作時對wal和memstore的操作順序

一般我們說先記錄在預寫日誌(wal),然後再寫入緩存(memstore),實際上我們從源碼中可以發現有一些小小的偏差.

實際操作順序應該是:
1 hbase做寫操作時,先記錄在本地的wal(Write-Ahead logfile)中,但是不同步到hdfs
2 然後再把數據寫入到memstore
3 開始將wal同步到hdfs
4 最後如果wal同步成功則結束,如果同步失敗則回滾memstore

源碼參考的是
hbase-server-1.3.1.jar中
HRegion類內
doMiniBatchMutation方法

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

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