gpt4 book ai didi

influxdb - influxdb 中的模式设计

转载 作者:行者123 更新时间:2023-12-02 21:45:51 26 4
gpt4 key购买 nike

我的 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 个测量 = 一个数据源,而且他们不必担心 wheregroup by 子句。

任何人都可以向我指出一些线索,后者会对 influxDB 性能和存储产生什么影响。这样数据会占用更多空间吗?请注意,后一种方法可能会导致数千次测量,但它们的基数都是 1。

最佳答案

如果它更适合您的用例,您就没有理由不能这样做。您开始使用的指南就在那里,因为它释放了 InfluxDB 标记功能的全部功能。

不会对性能或存储产生影响。在内部,InfluxDB 根据每个唯一的测量“键”创建一个新系列,其中键是测量名称和标签键/值对的组合。

即,每个都是一个单独的系列:

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

此外,每个都是一个单独的系列:

ACID_pump_1_pressure
ACID_pump_2_pressure
CAUSTIC_pump_1_pressure
CAUSTIC_pump_2_pressure

编辑,来源:我在 InfluxData 工作

编辑2,话虽这么说,我也完全同意@srikanta,我建议保留标签,但找到另一种解决方案来与数据库用户交互(或教育)。

关于influxdb - influxdb 中的模式设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37182168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com