这些天我面临着存储一些时间序列数据的问题。
该数据取自一台工业机器:对于每个作业(大约每小时 3 个,24/24h),一个软件记录:
振动数据以非常高的频率 (> 10 kHz) 获取,并导致非常大的内存需求。这个问题让我的公司评估了一些有效存储这些数据的可能性。
插入不会很频繁(可能每天 1 或 2 次,当机器不工作时)。读取可能非常频繁(另一个软件将检索数据以进行绘图和分析)。
目前,将使用单个节点来存储数据,所以我不想(目前)考虑分区和并行化问题。
我应该更喜欢哪种解决方案?关系型 DBMS(例如 MySQL 或 PostgreSQL),还是通用的 NoSQL DB(例如面向列的数据库 - 考虑到所有时间序列都是单变量的 - 像 Cassandra,或面向文档的数据库,像 MongoDB)?
除了我的特定用例之外,何时通常更喜欢 RDMBS 而不是 NoSQL 进行时间序列存储?什么时候更喜欢 NoSQL 而不是 RDBMS?