用戶端送出流程比較簡單
服務端處理流程
- 解析HBASEput RPC
- 擷取行鎖、Region更新共享鎖: HBase中使用行鎖保證對同一行資料的更新都是互斥操作,用以保證更新的原子性,要麼更新成功,要麼失敗
- 開始寫事務
- 開始寫MEMStore
- Append HLog(此時還在本地緩存中)
- 釋放行鎖和共享鎖
- Sync HLog:HLog真正sync到HDFS,在釋放行鎖之後執行sync操作是為了盡量減少持鎖時間,提升寫性能。如果Sync失敗,執行復原操作将memstore中已經寫入的資料移除。
- 寫事物完畢(讀操作對更新可見)
- MEMSTORE 到128M,資料重新整理磁盤