用于测量数组的 Influxdb 模式
Influx DB Schema for array of measurements
有人告诉我,没有一种模式可以存储类似的测量值,这些测量值包含时间序列数据库中的读取数组索引元数据。
特别是来自电池组的电压读数,可以将其视为电池组 0-8 和电池组 0-12 中的电池的二维阵列。总共96次电压测量。
有一个单一的 voltages
桶,每个测量都有包含索引 packIndex
和 cellIndex
的标签以及电压测量值,即
insert voltages,packIndex=2,cellIndex=0 value=3.4000
允许将来自同一包索引的读数分组,这将是有益的,但是将索引存储为标签意味着我无法对这些索引执行操作,例如 SELECT voltages WHERE packIndex < 4
以查找最小记录电压等操作在包 3 到 7 等
我是否应该将此索引数据包含在字段值中,但这意味着我无法按特定字段对数据进行分组。
我的问题具体是我应该将数组索引值存储为标记或字段,还是我缺少另一种选择。
这是一种不常见的情况还是有任何资源可能有助于解决这个问题?
将索引数据存储为标签最适合您的用例。
在 InfluxDB 中,所有标签值都存储为字符串。在 InfluxQL 查询中,如果我们需要根据标签值 WHERE
子句进行过滤,则应使用正则表达式。即
SELECT voltages WHERE packIndex < 4
应更改为
SELECT voltages WHERE packIndex =~ /[1-3]/
有人告诉我,没有一种模式可以存储类似的测量值,这些测量值包含时间序列数据库中的读取数组索引元数据。
特别是来自电池组的电压读数,可以将其视为电池组 0-8 和电池组 0-12 中的电池的二维阵列。总共96次电压测量。
有一个单一的 voltages
桶,每个测量都有包含索引 packIndex
和 cellIndex
的标签以及电压测量值,即
insert voltages,packIndex=2,cellIndex=0 value=3.4000
允许将来自同一包索引的读数分组,这将是有益的,但是将索引存储为标签意味着我无法对这些索引执行操作,例如 SELECT voltages WHERE packIndex < 4
以查找最小记录电压等操作在包 3 到 7 等
我是否应该将此索引数据包含在字段值中,但这意味着我无法按特定字段对数据进行分组。
我的问题具体是我应该将数组索引值存储为标记或字段,还是我缺少另一种选择。
这是一种不常见的情况还是有任何资源可能有助于解决这个问题?
将索引数据存储为标签最适合您的用例。
在 InfluxDB 中,所有标签值都存储为字符串。在 InfluxQL 查询中,如果我们需要根据标签值 WHERE
子句进行过滤,则应使用正则表达式。即
SELECT voltages WHERE packIndex < 4
应更改为
SELECT voltages WHERE packIndex =~ /[1-3]/