標籤:sequence 處理 儲存 oop flush 中間 reg 叢集 mapreduce
基本知識:
期望:1.利用高效的行、列鍵組織資料存放區方式和使用平滑的資料持久策略緩解叢集壓力
2.利用zookeeper保障資料一致性(選舉Leader)
提高效能的技術:資料壓縮、索引技術、實體化視圖
zookeeper 監控HRegionServer,儲存Root Region實際地址,HMaster物理地址,減輕分布式應用從頭開發協作服務的負擔
HMaster管理HRegionServer負載平衡
日誌根據Hadoop的SequenceFile儲存
HBase主要處理實際資料檔案和記錄檔
HRegionServer將請求提交給HRegion處理
底層隱藏檔的合并和拆分:
1.記憶體檔案(MenStore)的不斷刷入,檔案數目增加達到一定數目,compaction線程會合并成大檔案
2.大檔案體積達到分割的閾值,觸發HRegionServer內的Regions的分割
架構:
資料由物聯網感應器裝置群上傳到即時曆史資料庫伺服器群,經壓縮、緩衝寫入HBase伺服器叢集
ZooKeeper伺服器群對物聯網感應器裝置群進行裝置註冊管理,對即時曆史資料庫伺服器群進行進程監控,對HBase伺服器叢集進行叢集服務
持久化策略:
通俗點講,原始採集資料通過即時資料緩衝預先處理監控,對不合格或時間錯亂的資料摒棄處理,利用曆史資料緩衝及壓縮,最後存入HBase中
將資料緩衝池分成大小相同的兩塊,用有損壓縮線程池寫入其中一塊的固定位置,達到一塊接收,一塊進行HBase寫入,寫入方式分為定時刷入和閾值重新整理
思考:
1.Flush和Compaction最佳化
2.Split機制的改進
資料庫表選用窄表,行鍵設計為組合行鍵,即[tag_name][data_timestamp]
資料整理採用離線整理的機制,利用MapReduce將行鍵中tag_name和time範圍內相同的合并為一行,缺點是耗時和耗資源
ZooKeeper:1.裝置確認(註冊一個資料節點,儲存資訊為所有採集點接入物理節點的位置資訊)
2.應用程式層開啟查詢事務功能,首先對查詢事務進行分解,擷取位置資訊,查詢請求路由到正確的物理節點
3.裝置索引改變,會將改變提交,完成自身維護
資料統計與分析模組:
如 一次滑動平均法
預測下一周期內的資料寫入量,並與當前寫入量進行比較,若呈下降趨勢或預測檔案小,則延遲遞交Split請求
查詢中介軟體:
1.對資料項目的行鍵進行解釋
2.對查詢請求進行解析,對結果進行合并封裝
同時緩衝即時查詢需求較大的應用情境所需要的索引資訊
基於HBase的時間序列資料庫(改進)