存储高频(例如振动)时间序列数据的有效方法

时间:2018-12-03 08:58:19

标签: database timestamp time-series influxdb

我必须存储很多以非常高的频率记录的时间序列数据。

我应该为每个数据点存储

Timestamp|Sensor type|Actual value

现在,我正在使用以纳秒精度表示的时间戳,例如:

2018/10/20 5:41:41.000

这个特定的数据几乎是在13 kHz下获取的;因此,每一秒钟我的价值都超过1k。使用的分辨率不够。

一种“原始”解决方案是向每个数据点添加一个附加的“订单”字段,以便在检索到后按正确的顺序重建时间序列。

我正在使用InfluxDB和Chronograf / Kapacitor进行实时可视化/警报。我想插入数据(按行协议,btw),以使Chronograf能够显示漂亮的图。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

InfluxDB的默认精度为纳秒-正是您所需要的。

虽然您以纳秒为例显示的时间戳2018/10/20 5:41:41.000大约是不均一的百万倍。

这些是毫秒。 :-)

所以我真的没有在这里看到问题:您只需要开始使用纳秒级精度的时间戳来组装行协议记录,就是这样!

就像myveryswiftmeasurement,SensorType=precious1 actualvalue=1234.56 9223372036854775806

P.S。只是不要忘记对这些东西进行批处理,(更好)不要尝试单独编写每一行。

P.P.S有了13 kHz,您甚至可能不需要纳秒,我们的精度必须足够。

P.P.P.S。如果我弄错了,请告诉我,然后进一步详细说明您的问题。