[hbase] hbase的讀寫流程步驟

寫在前面

hbase讀的速度比寫的速度慢,是一個讀慢寫快的數據庫,因爲hbase的讀的時候要做很多事.

寫流程

在這裏插入圖片描述

1)Client 先訪問zookeeper,獲取hbase:meta 表位於哪個Region Server。
2)訪問對應的Region Server,獲取hbase:meta 表,根據讀請求的namespace:table/rowkey,查詢出目標數據位於哪個Region Server 中的哪個Region中。並將該table 的region 信息以
及meta 表的位置信息緩存在客戶端的meta cache,方便下次訪問。
3)與目標Region Server 進行通訊;
4)將數據順序寫入(追加)到WAL;
5)將數據寫入對應的MemStore,數據會在MemStore 進行排序;
6)向客戶端發送ack;
7)等達到MemStore 的刷寫時機後,將數據刷寫到HFile。

讀流程

在這裏插入圖片描述
1)Client 先訪問zookeeper,獲取hbase:meta 表位於哪個Region Server。
2)訪問對應的Region Server,獲取hbase:meta 表,根據讀請求的namespace:table/rowkey,查詢出目標數據位於哪個Region Server 中的哪個Region中。並將該table 的region 信息以
及meta 表的位置信息緩存在客戶端的meta cache,方便下次訪問。
3)與目標Region Server 進行通訊;
4)將數據順序寫入(追加)到WAL;
5)將數據寫入對應的MemStore,數據會在MemStore 進行排序;
6)向客戶端發送ack;
7)等達到MemStore 的刷寫時機後,將數據刷寫到HFile。

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