我们正在建立一个测量系统,最终将包括数千个测量站。每个测量站在其寿命周期内将保存大约500万次测量,由30个标量值组成。这些将是浮点值。我们现在在考虑如何在每个测量站上保存这些数据,考虑到我们将在每个测量站上构建一个Web应用程序,以便:
- 我们想要在多个时间尺度上可视化数据(例如一周、一个月、一年的测量)
- 我们需要在数据上构建移动平均线(例如在一个月内平均,以在年度图表中显示)
- 数据库需要具有崩溃恢复功能(停电时)
- 我们只进行数据的写入和读取,没有更新或删除数据的操作
此外,我们希望再增加一个服务器,可以显示1000个测量站的数据。那将是大约50TB的数据和5000亿次测量。为了将数据从测量站传输到服务器,我认为某种类型的数据库级别的复制是一种干净而有效的方式。
现在我在思考是否无SQL解决方案比mySQL更好地适合这些目的。特别是couchDB、Cassandra和可能的键值存储(如Redis),看起来很有吸引力。你认为哪种方法最适合“测量时间序列”数据模型?对于诸如崩溃安全和从测量站到主服务器的复制等其他优点呢?