【发布时间】:2016-05-12 09:05:28
【问题描述】:
我的 influxDB 用例是用于存储和趋势来自不同 PLC 的过程数据。我使用 grafana 可视化这些数据。在第一个试验中,我使用了来自 influxDB 的模式设计指南,使用通用的度量名称并通过标签分隔不同的值源。
例如,当我在“酸”泵组中有 2 个泵,在“苛性”泵组中有 2 个泵时,我会重新计算压力:
- pump_pressure {pump: pump_1, group: acid}
- pump_pressure {pump: pump_2, group: acid}
- pump_pressure {pump: pump_1, group: caustic}
- pump_pressure {pump: pump_2, group: caustic}
在我的用例中,最终用户希望能够使用 Grafana 制作自己的趋势。虽然这种记录数据的方式符合 influxDB 的架构设计指南(我认为),但对于不习惯使用类似 SQL 的语言进行工作和思考的非技术人员来说,这非常令人困惑。
因此,我很想以他们习惯的方式存储数据,这是在类似产品中工作的一般方式(历史学家):
- ACID_pump_1_pressure
- ACID_pump_2_pressure
- CAUSTIC_pump_1_pressure
- CAUSTIC_pump_2_pressure
这将使最终用户更容易做出趋势,因为 1 次测量 = 一个数据源,他们不必担心 where 和 group by 子句。
谁能指出一些线索,后者会对 influxDB 性能和存储产生什么影响。数据会以这种方式占用更多空间吗?请注意,后一种方法可能会导致几千次测量,但它们的基数都是 1。
【问题讨论】: