hbase架構中的名稱解釋
***client
*訪問hbase資料庫的表的使用者
*讀、寫
***zookeeper
*是client訪問hbase的入口
*儲存元資料表meta的位置
***hmaster
*對region進行負載均衡
*不參與hbase表資料的讀寫
**hregionserver
*管理當前伺服器上面的region
*響應客戶端資料訪問請求
*同一臺伺服器會有多個hregion
*每張表會有多個region
*當錶剛被建立的時候預設只有乙個region(當達到一定閾值region會**)
***hregion
*每張表對應多個region,這些region會被分配到不同的regionserver
上去管理
*同乙個hregion又有多個store,每乙個store對應了乙個列簇的儲存
*每個store包含了memstore和storefile
***memstore
*記憶體緩衝區,用來寫入資料的時候對資料進行快取(暫存)
***storefile
*memstore達到一定閾值的時候會把memstore的資料寫成storefile檔案
*storefile檔案達到一定閾值會**,之後儲存資料檔案
***hfile
*hlog(記錄元資料)
**wal(hbase預寫機制)
二進位制檔案
功能:防止regionserver伺服器意外宕機,資料丟失
***hadoop
利用hdfs給hbase提供儲存(storefile[hfile])
******************************=
一張表有幾個region,每個region就有startkey和endkey範圍
***hdfs上面儲存hbase兩類
*hfile
hbase中key-value資料的儲存格式
是hadoop的二進位制檔案
*hlog
hbase中wal
=讀寫流程
*****===
hbase讀資料流程:–根據row key 去查詢
**1.client先去訪問zookeeper,從zk裡獲取meta表所在的位置資訊[meta表也是被regionserver管理的]
**2.client向這台regionserver發起訪問,從meta表中獲取元資料
**3.client找到當前需要訪問的資料對應的region以及regionserver[ip]
**4.client向這台regionserver發起訪問請求
**5.regionserver收到client訪問請求,掃瞄memstore,再去storefile[hdfs]查詢資料
**6.regionserver把資料響應給client
hbase寫資料流程:–根據rowkey
put 『user』,『1001』,『info:name』,『value』
**1.client先訪問zookeeper,找到meta表,並獲取meta表中元資料
**2.確認當前寫入資料對應的region,和regionserver伺服器
**3.client向這台regionserver伺服器發起寫入請求
**4。regionserver收到client請求,並相應
**5.client先把資料寫入到hlog,防止資料丟失
**6.再把輸入寫入到memstore,記憶體快取區,預設值128m
**7.當hlog與memstore都寫入成功,那麼這條資料也寫入成功了
**8.當memstore達到閾值[128m],會把memstore裡面的資料flush進storefile中
**9.當stroefile變多的時候會觸發compact合併操作,並把多個storefile合併成乙個大的storefile
**10.當storefile[region]越來越大,達到閾值,會觸發split操作,region被**(一分為二)
hbase中三個重要的機制:
***flush
當memstore達到128m閾值,會把memstore裡面的資料flush進storefile中
***compact機制
把小的storefile檔案合併成大的storefile,因為同乙個rowkey
會始終合併成乙個storefile
***split機制
當region達到閾值[256m],會把region一分為二
hbase儲存資料類似於單元格儲存,乙個(行鍵,列簇)對應乙個單元格,單元格內存放的是一塊資料(比如乙個人的個人資訊等(name,age,***…))。
對TimeQuest一些術語的解釋
前兩篇博文對時序分析中的input delay max和輸入埠到內部暫存器的setup進行了一些簡單分析,其中涉及到用timequest timing analyzer進行分析。初學者估計對timequest當中一些術語的簡寫不是很清楚。如下圖用圈圈標出的部分 這裡對這幾個術語進行解釋下 rf列 r...
對提高HBase寫效能的一些思考
以下為使用hbase一段時間的三個思考,由於在記憶體充足的情況下hbase能提供比較滿意的讀效能,因此寫效能是思考的重點。希望讀者提出不同意見討論 1 autoflush false的影響 2 hbase.hregion.max.filesize應該設定多少合適 hbase中hfile的預設最大值 ...
一些專業的解釋
1.pid 比例 proportion 積分 integral 微分 derivative 控制 pid控制是乙個在工業控制應用中常見的反饋迴路部件,由比例單元p 積分單元i和微分單元d組成。pid控制的基礎是比例控制 積分控制可消除穩態誤差,但可能增加超調 微分控制可加快大慣性系統響應速度以及減弱...