是否有一个轻量级的数据库系统支持时间序列数据中的插值和间隙



我需要实现一个系统,用于在嵌入式平台上存储来自多个设备的带时间戳的传感器数据。根据这个相关的问题,关系数据库是存储此类数据的首选解决方案,因此我一直在研究SQLLite。

然而,我也需要数据库能够回答诸如"9月12日13:15的室内温度是多少"之类的问题,即使当时没有准确记录传感器数据。换句话说,我需要数据库能够处理插值。据我所知,SQLite无法处理这一问题,通常的嫌疑人(MySQL、PostgreSQL)也无法处理。

此外,我还需要数据库能够检测数据中的差距。

这个相关的问题似乎涉及大型机ish数据库,而不是嵌入式数据库。

因此:是否有适合嵌入式平台的数据库系统支持对时间序列数据执行的"常规"操作

您不应该希望或期望数据库为您进行插值。只需提取与所需时间最接近的值,然后编写自己的插值。只有您知道应该使用什么样的插值类型。也许是两点之间的简单线性,也许是更多点之间的高阶多项式。这实际上取决于您的系统和数据建模情况。

专用时间序列数据库。

尝试:

  • RRDTool(简单实用程序,可能对您来说就足够了)
  • OpenTSDB
  • InfluxDB

考虑到您的用例,可能还需要采取完全不同的方法,使用针对简单插入优化的"物联网"目标数据存储(Xively,Phant.io),然后进行时间序列分析的后处理。

最新更新