基於HBase的實時歷史數據庫設計思路

實時歷史數據庫是實現工業海量數據採集存儲的有效手段。HBase的寫入性能優於查詢性能,這個特色使其適合做爲實時歷史數據庫開發的基礎。數據庫

全部的開發是基於HBase的API進行,主要開發節點和數據的增刪改查方法的實現,而且使用Thrift做爲軟件的RPC,最終提供Server服務和Client API。其中Server功能是鏈接HBase以及實現增刪改查的方法。架構

設計HBase的表結構是最重要的部分。首先,使用HBase的命名空間功能,爲不通場景提供不通數據庫。而後就是表結構設計,根據經驗,要有三張基本表,分別是id,data,info。info表保存節點信息,節點名做爲rowkey;id表提供能夠給節點分配的id;data表保存節點數據,rowkey爲「節點id+時間」形式。而後根據三個表結構的特色實現增刪改查的方法。分佈式

數據在HBase表中存儲排序是字典格式。若是全部數據都在data表中保存時,獲取實時最新數據是一個問題。能夠使用過濾器取出符合條件的節點數據,而後reverse便可獲取最後一個插入的數據。可是這種方法在測試時很慢,效率低。能夠考慮增長realTime表,保存節點最新數據,只要在插入實時數據的方法中同事寫入此表和data表便可,但結果卻提升了查詢實時數據的速度。性能

除了表結構的設計,HBase自身的分佈式架構也使得該數據庫試用大數據環境。剩下的 就是提升HBase的讀寫性能,特別是讀取性能。測試

以上思路是根據生產實際經驗總結而來,而且實現了beta版本,可是並無發佈。大數據

相關文章
相關標籤/搜索