首页/数据/NoSQL 速查/时序 schema 设计:tag 与 field 划分

时序 schema 设计:tag 与 field 划分

时序建模围绕"哪些维度要用来筛选与分组":频繁过滤、取值可控的维度放 tag;测量值、高变化值放 field;measurement 表示一批同结构的数据流。

NoSQL 速查数据更新于 2026-10-12
放 taghost、region、service、status 等可控枚举,支撑 WHERE 与 GROUP BY
放 field数值测值、消息内容、高变化字符串(如 request_id 该弃用或放 field)
measurement同一 measurement 的字段尽量固定,避免混装多种数据源

示例

示例
# 好:维度可控,字段为测值
http_requests,service=api,region=cn,code=200 count=42i,latency_ms=12.5

# 差:request_id 取值无界,序列数会爆炸
http_requests,request_id=8f3a... count=1i
命名保持小写与下划线风格,单位写进字段名(latency_ms、size_bytes),避免同一测量混用多种单位。

易错点

  • 把高基数维度当 tag 是排队上线后才发现的问题,评审时先估算标签取值组合数
  • 字段类型在同一测量内变更会引发冲突,导入前统一数值类型

数据来源与参考

  • InfluxData Docs: Schema design best practices
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌