测量数组的Influx DB架构



有人告诉我,没有一个模式可以存储类似的测量值,这些测量值包含时间序列数据库中的读取数组索引元数据。

特别是来自电池组的电压读数,其可以被视为电池组0-8和电池组0-12内的电池的二维阵列。总共96次电压测量。

具有单个voltages桶,每个测量具有包含索引packIndexcellIndex的标签以及电压测量值,即

insert voltages,packIndex=2,cellIndex=0 value=3.4000

允许对来自同一包索引的读数进行分组,这将是有益的,但是将索引存储为标签意味着我无法对这些索引执行操作,例如SELECT voltages WHERE packIndex < 4,以进行操作,例如在包3到7中查找最小记录电压等。

如果我在字段值中包含此索引数据,这意味着我将无法按特定字段对数据进行分组。

我的问题特别是,我应该将数组索引值存储为标记或字段,还是缺少其他选项。

这是一种不常见的情况吗?或者是否有任何资源可以帮助解决这个问题?

将索引数据存储为标记最适合您的用例。

在InfluxDB中,所有标记值都存储为字符串。在InfluxQL查询中,如果我们需要根据标记值进行筛选,WHERE子句应该使用regex。即

SELECT voltages WHERE packIndex < 4应更改为

SELECT voltages WHERE packIndex =~ /[1-3]/

最新更新