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