學習總結二十三 深入學習hbase資料庫

2021-06-22 16:46:13 字數 950 閱讀 2834

1.hbase工作機制

1.1寫路徑 新增和修改流程是一樣的,都要建立put象,定位到座標。寫入操作時,預設方式是寫到兩個地方,乙個是hlog(預寫式日誌),另外乙個是memstore(記憶體緩衝區),當這兩個地方確認時,才真正認為寫操作完成。hbase資料在寫入硬碟之前會先把資料存放到memstore累積,當memstore填滿後,其中的資料會刷寫到硬碟,生成乙個hfile檔案,hfile是hbase的底層儲存格式,對應於列簇,乙個列簇有多個hfile檔案,乙個hfile不能儲存多個列簇的資料,在集群節點上,每個列簇有乙個memstore。

hbase集群中每一台機器都有乙個wal,它的作用預防hbase伺服器宕機時,預防memstore中的資料丟失,hbase會自動通過內部機制恢復資料。

1.2讀路徑  hbase讀操作使用了lru(最近最少使用演算法)快取技術,也叫blockcache技術,和memstore儲存在同乙個jvm中,撐握blockcache是優化hbase的重要部分。block是hbase從硬碟完成一次讀寫資料單位。hfile物理儲存形式是block序列外加block索引。block預設大小是64m。

2.hbase的region塊大小,是由hbase-site.xml檔案中的hbase.hregion.max.filesize決定。

memstore的大小,是由hbase-site.xml檔案中的hbase.hregion.memstore.flush決定。

3.hbase兩個特殊表-root-和.meta.說明

-root-只有乙個region塊

.meta.可以切割多個region塊,裡面儲存了使用者表的入口位址

使用者訪問hbase中某行資料時首先訪問zookeeper然後訪問-roo- 然後指向.meta.再找到regionserver中的某行資料所在的region塊

python 學習筆記(二十三)

coding utf8 author liwei import re python正則的應用,math方法判斷正則是否匹配成功 print 正則簡單用例 text hello liwei is 25 if re.match r w s w s w s d text print ok else pri...

疏漏總結 二十三

change buffer change buffer的最主要目的是將二級快取的結果儲存下來,減小二級索引隨機io的延遲與消耗,這裡注意二級索引和聚簇索引又不一樣,因為二級索引有可能是不唯一的。當我們執行更新語句的時候,像insert update delete這種語句,在使用了之後,會更新二級索引...

php學習筆記(二十三)建立cookie

關於cookie有一點很重要,它必須在傳送其他任何資訊之前從伺服器傳送到客戶端,也就是說,指令碼應該在print語句之前,或者引入任何包含html的外部檔案之前傳送cookie,如果伺服器嘗試在web瀏覽器已經獲得了html 之後發生cookie,甚至空格,都會產生錯誤資訊,cookie傳送也將失敗...