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

时间:2012-09-13 13:38:53

标签: database embedded relational-database time-series

我需要实现一个系统,用于在嵌入式平台上存储来自多个设备的带时间戳的传感器数据。根据{{​​3}},关系数据库是存储这类数据的首选解决方案,因此我一直在关注this related question

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

此外,我还需要数据库才能检测数据中的空白。

SQLLite似乎处理的是大型机数据库而不是嵌入式数据库。

因此:是否有适合嵌入式平台的数据库系统支持人们可能希望对时间序列数据执行的“常规”操作?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

专业时间序列数据库。

尝试:

  • RRDTool(简单实用,可能就足够了)
  • OpenTSDB
  • InfluxDB

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