我必须存储很多以非常高的频率记录的时间序列数据。
我应该为每个数据点存储
:Timestamp|Sensor type|Actual value
现在,我正在使用以纳秒精度表示的时间戳,例如:
2018/10/20 5:41:41.000
这个特定的数据几乎是在13 kHz下获取的;因此,每一秒钟我的价值都超过1k。使用的分辨率不够。
一种“原始”解决方案是向每个数据点添加一个附加的“订单”字段,以便在检索到后按正确的顺序重建时间序列。
我正在使用InfluxDB和Chronograf / Kapacitor进行实时可视化/警报。我想插入数据(按行协议,btw),以使Chronograf能够显示漂亮的图。
我该怎么办?
答案 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。如果我弄错了,请告诉我,然后进一步详细说明您的问题。