influxdb基础---数据保留策略

版权声明:本文为博主原创文章,码字不易,转载请标明出处。 https://blog.csdn.net/yue530tomtom/article/details/82631089

概念

InfluxDB的数据保留策略(RP) 用来定义数据在InfluxDB中存放的时间,或者定义保存某个期间的数据,一个数据库可以有多个保留策略,但每个策略必须是独一无二的。

目的

InfluxDB本身不提供数据的删除操作,因此用来控制数据量的方式就是定义数据保留策略。
因此定义数据保留策略的目的是让InfluxDB能够知道可以丢弃哪些数据,从而更高效的处理数据。

操作

  • 查询策略
    • name–名称,此示例名称为 autogen
    • duration–持续时间,0代表无限制
    • shardGroupDuration–shardGroup的存储时间,shardGroup是InfluxDB的一个基本储存结构,应该大于这个时间的数据在查询效率上应该有所降低。
    • replicaN–全称是REPLICATION,副本个数
    • default–是否是默认策略
> SHOW RETENTION POLICIES ON mydb
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        true
> 
  • 新建策略
    在 mydb库添加了一个24小时的策略,名字叫做 def_new , duration为24小时,副本为1
> CREATE RETENTION POLICY "def_new" ON mydb DURATION 24h REPLICATION 1
> show RETENTION POLICIES ON mydb
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        true
def_new 24h0m0s  1h0m0s             1        false
> 

若要直接定义为默认加上关键字DEFAULT

  • 修改策略
> ALTER RETENTION POLICY def_new ON mydb DURATION 48h DEFAULT
> SHOW RETENTION POLICIES ON mydb
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        false
def_new 48h0m0s  1h0m0s             1        true
>
  • 删除策略
> drop  retention POLICY def_new ON mydb
> show retention policies on mydb
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        false
> alter retention policy autogen on mydb default
> show retention policies on mydb
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        true
>

当一个表使用的策略不是默认策略时,在进行操作时一定要显式的指定策略名称,否则会出现错误。

猜你喜欢

转载自blog.csdn.net/yue530tomtom/article/details/82631089