2013-02-15 21 views
0

我正在考虑构建一个基于Web的数据记录和可视化服务。基本思想是在某个时间间隔(例如传感器)向服务器报告一个值(例如温度)。服务器将此值记录到数据库中。将会有一个基于网络的用户界面,允许我在基于时间的图上查看这些数据。理想情况下,这个图表会有各种分辨率(最近30秒,上周,去年等)。在超理想的世界中,我可以放大任何时间点的数据。如何存储和检索图形可视化的大量数据点?

问题是传感器将产生大量的数据。例如,每5秒报告一次数值的传感器每天将产生约18k的数值。我想象一个拥有数千传感器的系统。随着时间的推移,这会变成大量的数据。

天真的解决方案是将这些数据放到关系数据库中,并以我想要的各种方式检索它,但这不会缩放。

简单的解决方案是通过定期汇总数据来减少数据量。新数据可能会进入每5秒钟有数据点的表格。每个小时,一些系统会将这些数据输出到另一个表格中,该表格每分钟都有数据点并删除原始数据。这重复了几个级别。不利的一面是,你走的时间越晚,数据的细节就越少。这可能很好。与具有这种汇总的系统相比,我会想象我需要大量的硬件来支持全部数据的全分辨率。

有没有更好的方法来做到这一点?有没有现有的解决方案?我必须想象这是一个相当普遍的问题。

回答

相关问题