概念
一台InfluxDB服务器每秒可以处理近百万条时序数据。如果所有数据都持久保存,数据量非常大,造成存储成本高昂。
常见的解决方法就是降低数据精度,即详细的、高时间精度的数据只能保留一段时间,同时对这些数据进行聚合计算得到低精度的、符合我们需求的数据,再根据实际情况存储一段时间然后删除高精度的数据,只保留低精度的数据。
前一篇博文我们讲了连续查询,定期自动处理、聚合数据,降低数据的时间精度,把结果保存在指定的表中,而数据保留策略可以按照我们的需求,根据设置的保留时间,淘汰掉我们不需要的高精度冷数据。
InfluxDB会计算本地服务器时间和存储数据的时间戳差值,如果该差值比保留策略设置的保留时间长,则会讲这些过期数据删除。
创建保留策略

-
DURATION
指定了保留时长。后面的<duration>为保留时长度或INF(无限长)。InfluxDB最小的保留时长间隔是1小时,最长的保留时长是无限长。<duration>单位如下所示:
- REPLICATION
指定了集群中每条数据有多少不相关的副本,<n>表示指定的副本数,副本数的最大值为DATA节点的节点个数。 -
SHARD DURATION
决定一个分片组对应的时间范围。它所设置的<duration>值也是一个时间长度,但不支持无限长。该项为可选。默认情况下,分片组的时间间隔会由保存策略的时间间隔决定。
- DEFAULT
将所创建的保留策略设置为该数据库的默认保存策略,可选项。
一个数据库可以创建多个保留策略,名字必须唯一。在创建数据库时,InfluxDB会自动生成一个永久保留策略"autogen"作为数据库的默认保留策略。
例:创建一个保留策略,数据以一个副本的形式保留1天。

查询保留策略

管理保留策略
-
修改
-
删除
网友评论