我有一些发出时间序列数据的设备:
[deviceID],[time],[value]
我正在使用石墨来跟踪这些数据,但这个问题也适用于其他数据库。
我已将我的数据保留/精度定义为 5 秒 - 因此每个设备每 5 秒只有一个值,这是它在此期间所做的所有观察的平均值。例如,如果这些是真实的测量值:
device1 1/1/2012 08:00:00 12
device1 1/1/2012 08:00:01 10
device2 1/1/2012 08:00:01 2
device1 1/1/2012 08:00:02 14
然后保存的数据将是:
device1 1/1/2012 08:00:00 12
device2 1/1/2012 08:00:00 2
如何查询此时间段内两台设备的平均值?我不能只对保存的数据(=7)取平均值,因为它是有偏差的,因为它不认为 device1 有更多的测量值。我是否需要跟踪每个设备对/三重奏的平均值?也许最好根本不进行聚合并获得最大的灵活性?或者如果这只是一个很好的功能,是否可以接受不允许这样的跨设备查询?