如何为传感器网络设计HBase架构?

时间:2013-09-23 01:41:28

标签: hadoop hbase

我是这个大数据世界的新手。作为课程项目,我正在研究传感器网络,并希望将传感器数据存储在HBase上。目前数据存储在MySQL数据库中。我正在尝试将这些数据加载到HBase中。但是数据增长如此之快,并且对此的查询变得非常缓慢。 这是MYSQL表架构:SensorLog(sensorID,userID,时间,日期)。 因此,此表保存了传感器触发日志。对于每个用户(总共45个用户),他的公寓中有25个运动传感器。每当用户在他的公寓中移动时,传感器将被触发,并且该事件将被记录到该表中。主要问题是在特定时间间隔和日期内为特定用户触发的传感器 我提出了三个HBase架构,我只是想知道你对它们的看法。在这些模式中,我将时间显示为一天中的秒数,即0-86400范围内的整数。

架构1:Rowkey:日期; Column-Family:Time {cq:(t0-t86400); cv:(userID,sensorID)}

Schema2:Rowkey :( Date,userID); Column-Family:Time {cq:(t0-t86400); CV:(sensorID)}

Schema3:Rowkey :( Date,userID);列族:时间{cq:(s1-s25); CV:(时间)}

请您告诉我哪种架构更好,效率更高? 我提前感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

45个人和25个传感器似乎不像你想要存放在HBase中。

如果您仍然热衷于使用HBase,那么关键设计应该由您的读写模式驱动。 例如,假设每个用户每秒只获得一些测量值,并且用户数量影响负载,行键userId,时间戳和传感器Id的复合键似乎有意义,其中值将是读数

最后,您可能希望查看OpenTSDB这是开源的,基于HBase构建,并且是为了按比例存储时间序列测量而构建的。您可以看到其架构here

相关问题