influxdb保留策略用来定义数据在influxDB中存放的时间,或者定义保留某个期间的数据,默认情况下,当我们创建一个数据库的时候,会指定一个默认的策略名字为autogen

1、保留策略结构

(1)name:保留策略名字
(2)duration:表示数据可以保留的时间,最小是1h,最大是无穷大,无穷大的时候duration是0
(3)shardGroupDuration:shard group的存储时间,如果查询的数据大于一个shardGroup的duration,那么查询效率就会降低,shardGroup的值默认随着duration的值变化,当然我们也可以自己指定:
保留策略
(4)replication:表示每一个point在集群中独立的副本,当是单节点的情况下,这个值始终是1

2、操作保留策略

(1)创建保留策略

CREATE RETENTION POLICY <retention_policy_name> ON <database_name> DURATION <duration> REPLICATION <n> [SHARD DURATION <duration>] [DEFAULT]

示例:
保留策略
保留策略
(2)修改保留策略
duration、relication、shard duration、default至少要有一个

ALTER RETENTION POLICY <retention_policy_name> ON <database_name> DURATION <duration> REPLICATION <n> SHARD DURATION <duration> DEFAULT

保留策略
保留策略
(3)删除保留策略

DROP RETENTION POLICY <retention_policy_name> ON <database_name>

针对上面的mydb进行drop:
保留策略

3、遵循的规则

(1)一个数据库可以有多个保留策略,但保留策略不可以出现重复(根据name判断)
(2)每个数据库最多只能有一个(可以是0个)保留策略的default为真
(3)duration值必须大于shardGroupDuration值
(4)对于单节点influxdb,副本(replication)只能有一个,这里的副本是集群里面才有意义的概念,表示的是每一个point在集群里面有多少个独立的副本,所以单节点情况下,副本肯定都是1

分类:

技术点:

相关文章: