對hbase的一些名稱解釋和個人理解

2021-08-28 07:36:12 字數 2378 閱讀 9556

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控制的基礎是比例控制 積分控制可消除穩態誤差,但可能增加超調 微分控制可加快大慣性系統響應速度以及減弱...