Hbase讀寫流程


一、hbase的讀操作:
  ZooKeeper---meta--regionserver--region--memstore--storefile
  1、首先從zookerper找到meta表的region的位置,然后讀取meta表中的數據。而meta中又存儲了用戶表的region信息
  2、根據namespace、表名和rowkey根據meta表中的數據找到寫入數據對於的region信息
  3、然后找到對於的regionserver
  4、查找對應的region
  5、先從Memstore找數據,如果沒有,再到StoreFile上讀

  

 

二、hbase的寫操作:
  ZooKeeper---meta--regionserver--1、Hlog 1、MemStore--storefile
  1、首先從zookerper找到meta表的region的位置,然后讀取meta表中的數據。而meta中又存儲了用戶表的region信息
  2、根據namespace、表名和rowkey根據meta表中的數據找到寫入數據對於的region信息
  3、然后找到對於的regionserver
  4、把數據分別寫到Hlog和memstore各一份
    4、1當memstore達到閾值后把數據刷成一個storefile文件,當compact后,逐漸形成越來越大的storefile后觸發spilt,
把當前的StoreFile分成兩個,這里相當於把一個大的region分割成兩個region
    4、1若MemStore中的數據有丟失,則可以從HLog上恢復,當多個StoreFile文件達到一定的大小后,會觸發Compact合並操作,
合並為一個StoreFile,這里同時進行版本的合並和數據刪除

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM