我正在使用Hbase與phoenix進行交互式分析,我試圖設計一個IOT項目的hbase行鍵,但我不確定我是否做得對。HBase行關鍵設計
我的數據庫可以表示成這樣的:
Client--->Project ----> Cluster1 ---> Cluster 2 ----> Sensor1
Client--->Project ----> Building ----> Sensor2
Client--->Project ----> Cluster1 ---> Building ----> Sensor3
我所做的是(CLIENT_ID,PROJECT_ID,CLUSTER_ID,Building_iD,SensorID)的複合主鍵
(1,1,1#2,0,1)
(1,1,0,1,2)
(1,1,1,1,3)
而且我們可以指定多個集羣或建立一個分隔符#1#2#454等 ,如果我們沒有節點,我們插入0.
而在第e列族中,我們將具有傳感器的值和倍數meta_data。
我的問題是這個hbase行的關鍵設計的請求,說我們希望所有傳感器的ID爲1的集羣是有效的?
我想也只是把密鑰的Sensor_ID,TimeStamp,並把所有的根系列,但這個設計我不知道它很適合我的要求。
我對這個項目的第三個想法是將neo4j用於數據的生根和hbase。
任何人都有類似問題的經驗,以指導我設計這個數據庫的最佳方法?
您是否知道給定客戶可能擁有的項目/羣集/傳感器的最大數量? – Gevorg
每個傳感器產生多少個數據點? – Gevorg
@Gevorg不,我沒有任何最大的數字,它是一個top10和top60傳感器,所以它每天可以產生大約1440個數據點/傳感器,最近我試圖查找時間序列數據庫,很適合在hadoop生態系統像opentsdb,有什麼建議嗎? – azelix