Skip to content

保留、降采样与性能

时序系统的数据量近似由写入频率、Series 数量、每点大小和保留时间共同决定。保留策略和降采样不是后期清理工作,而是容量与查询模型的一部分。


容量关系

text
Point 数量 ≈ Series 数量 × 每 Series 每秒写入点数 × 保留秒数

实际磁盘还受到压缩率、Tag/Field 长度、索引、WAL、Compaction、备份和副本数影响。


Retention

产品线主要概念
1.xRetention Policy 与 Database 组合
2.xBucket 同时包含数据与 Retention 配置
3.xDatabase 与保留配置按具体产品能力管理,不沿用 2.x Bucket 语义

过期删除通常是后台、分区或文件级处理,不保证到期瞬间逐点消失。合规要求若需要精确删除时限,应验证任务周期、对象存储生命周期和备份保留。


降采样

原始秒级数据可以只保留短周期,把分钟、小时聚合结果保留更久:

降采样必须确定:

  • 聚合函数是 Mean、Sum、Min/Max、Last 还是分位数。
  • Counter 是否需要先计算增量或 Rate。
  • 空窗口、设备离线和迟到数据如何处理。
  • 重算时如何避免重复写入或覆盖错误窗口。
  • Dashboard 查询何时切换不同粒度。

Cardinality

在 1.x/2.x 中,Series Cardinality 等于 Measurement 与 Tag Set 组合数量。高基数会扩大索引和规划成本。典型风险包括把 Request ID、随机 UUID、完整 URL 或时间戳写成 Tag。

InfluxDB 3 重新设计了存储和查询架构,传统 Series Cardinality 不再以完全相同方式形成瓶颈,但高基数维度仍会增加列值、分区、缓存和查询成本。应根据目标版本评估,而不是把“无限基数”理解成无成本。


性能检查

  • 写入是否批量化,是否存在大量小 HTTP 请求。
  • Tag/列是否能让查询快速缩小数据范围。
  • 查询是否始终带时间边界,窗口是否过细。
  • Compaction、对象存储读取或查询 Spill 是否形成 I/O 压力。
  • Dashboard 是否同时触发大量高基数分组。
  • 最近值查询是否使用对应缓存能力。

参考资料