influxdb 在物联网项目中实战,针对数据结构tag设计引发的时间线基数问题,导致无法正常读写数据问题
·
因在物联网项目中,使用influxdb作为存储硬件设备实时上报指标数据的存储数据库,支持实时统计生成相关统计报表的功能。
线上生产环境经过小一个月的运行后,某天线上消息中间件告警,消息队列阻塞,出现慢消费的相关问题,线上排查,发小无法将上报的设备相关数据存储到influxdb当中,数据库操作超时。经过排查发现,存储时序数据库时,数据结构设计时将数据存储的时间也作为tag,导致influxdb的时间线基数超过默认上线,influxdb 2.x TSM引擎(线上环境)默认环境配置。在 InfluxDB 2.x (TSM引擎) 中,针对单个 Tag(标签) 的数量限制,其实主要体现在每个 Tag Key 能关联的唯一值的数量上,而不是 Tag Key 本身的个数。
Tag Value 的数量:每个 Tag Key 默认最多只能有 10万个 唯一值
多个维度的tag 的value 组合生成的时间线不能超过100万。
而将数据的落库时间也作为tag,显然不合理,经修改去掉此tag,并将bucket 设置了数据的有效期。
更多推荐




所有评论(0)