时间序列数据的关系数据库

时间:2014-02-07 02:47:42

标签: sql database relational

我目前正在尝试设计一个数据库来存放生产测试数据。每个单元经历相同的测试序列(12次测试),在每次测试运行期间以各种采样率从许多位置收集电压,电流和温度数据。目标是通过测试类型和参数将数据用于趋势分析,以确定单元是否“在家庭中”。

我的第一个想法是将一个'Units'表链接到一个'Tests'表链接到'Parameters'表,该表将链接到该特定运行的原始数据。关系数据库是否是最好的这样的方式或者我会更好地使用像MongoDB这样的应用程序吗?

1 个答案:

答案 0 :(得分:1)

传统的RDBMS仍然是您的默认选择。像NooDB这样的'NoSQL'系统只有在关系数据库无法满足您的要求时才会使用。

关系数据库可能不可行的两个典型案例是:

  • 数据未被破坏,或结构未知或无法保证。文档存储或键值存储基本上允许您向其投掷任意数据,并将存储它。

  • 存在极高的并发性和/或高度混合的读写要求。在这种情况下,传统的关系系统可能无法跟上,因为它要求保持数据同步并保持其完整性。

数据量也可能太大,但这意味着很多数据。

在您的情况下,听起来数据是高度结构化的并且以合理的速率到达(您将不会比可以测试物理单位更快地接收数据点)。此外,它听起来并不像系统整体上会有沉重的并行负载(意味着许多用户同时运行查询)。

在这种情况下,您可能希望利用内置的完整性维护机制(类型化列,检查约束等),传统关系系统提供的大量文档等。

正如您在问题中提到的那样,绝对可以为您的数据设计可行的架构。