InfluxDB 中的数据保留策略
InfluxDB 保留策略执行服务会检查并删除时间戳超出数据存储存储桶定义的保留期限的数据。此服务旨在自动删除“过期”数据并优化磁盘使用率,无需任何用户干预。
默认情况下,保留策略执行服务每 30 分钟运行一次。您可以使用storage-retention-check-interval
配置选项配置此间隔。
存储桶保留期限
存储桶保留期限是存储桶保留数据的持续时间。您可以在创建或更新存储桶时指定保留期限。保留期限可以是无限期或最短一小时。数据点在存储桶中的时间戳超出定义的保留期限(相对于当前时间)后,将符合删除条件。
分片组持续时间
InfluxDB 将数据以分片形式存储在磁盘上。每个分片属于一个分片组,每个分片组都有一个分片组持续时间。分片组持续时间定义了分片组中每个分片覆盖的时间长度。每个分片仅包含时间戳在分片组持续时间定义的特定时间范围内的数据点。
默认情况下,分片组持续时间根据存储桶保留期限自动设置,但也可以在创建或更新存储桶时显式定义。
有关更多信息,请参阅InfluxDB 分片组持续时间。
查看存储桶保留期限和分片组持续时间
使用influx bucket list
命令查看组织中存储桶的保留期限和分片组持续时间。
数据何时真正被删除?
InfluxDB 保留策略执行服务会定期运行并删除分片组,而不是单个数据点。仅当分片组覆盖的整个时间范围超出存储桶保留期限时,该服务才会删除分片组。
数据在删除前可查询
即使数据可能早于指定的存储桶保留期限,在被保留策略执行服务删除之前,它仍然是可查询的。
要计算数据在被删除之前可能持续存在的最长时间
- 最短时间:
存储桶保留期限
- 最长时间
存储桶保留期限 + 分片组持续时间
例如,如果您的存储桶保留期限为三天 (3d
),而您的分片组持续时间为一天 (1d
),则保留策略执行服务将在下次服务运行时删除所有数据为三到四天前的分片组。
4天
3天
2天
1天
0天
已删除
3 天保留期限
此页面是否对您有帮助?
感谢您的反馈!
支持与反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB 和本文档的反馈和错误报告。如需获得支持,请使用以下资源
拥有年度合同或支持合同的客户可以联系 InfluxData 支持。