博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Influxdb修改数据保留策略
阅读量:5308 次
发布时间:2019-06-14

本文共 3613 字,大约阅读时间需要 12 分钟。

  • retention policy: 存储策略,用于设置数据保留的时间,每个数据库刚开始会自动创建一个默认的存储策略 autogen,数据保留时间为永久,之后用户可以自己设置,例如保留最近2小时的数据。插入和查询数据时如果不指定存储策略,则使用默认存储策略,且默认存储策略可以修改。InfluxDB 会定期清除过期的数据。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

InfluxDB每秒可以处理成千上万条数据,要将这些数据全部保存下来会占用大量的存储空间,有时我们可能并不需要将所有历史数据进行存储,因此,InfluxDB推出了数据保留策略(),用来让我们自定义数据的保留时间。

一、InfluxDB 数据保留策略 说明

InfluxDB的数据保留策略(RP) 用来定义数据在InfluxDB中存放的时间,或者定义保存某个期间的数据。

一个数据库可以有多个保留策略,但每个策略必须是独一无二的。

二、InfluxDB 数据保留策略 目的

InfluxDB本身不提供数据的删除操作,因此用来控制数据量的方式就是定义数据保留策略。

因此定义数据保留策略的目的是让InfluxDB能够知道可以丢弃哪些数据,从而更高效的处理数据。

三、InfluxDB 数据保留策略 操作

1)查询策略

可以通过如下语句查看数据库的现有策略:

> SHOW RETENTION POLICIES ON telegrafname    duration    shardGroupDuration    replicaN    defaultdefault    0        168h0m0s        1        true

可以看到,telegraf只有一个策略,各字段的含义如下:

name--名称,此示例名称为 default

duration--持续时间,0代表无限制

shardGroupDuration--shardGroup的存储时间,shardGroup是InfluxDB的一个基本储存结构,应该大于这个时间的数据在查询效率上应该有所降低。

replicaN--全称是REPLICATION,副本个数

default--是否是默认策略

2)新建策略

> CREATE RETENTION POLICY "2_hours" ON "telegraf" DURATION 2h REPLICATION 1 DEFAULT> SHOW RETENTION POLICIES ON telegrafname    duration    shardGroupDuration    replicaN    defaultdefault    0        168h0m0s        1        false2_hours    2h0m0s        1h0m0s            1        true

通过上面的语句可以添加策略,本例在 telegraf 库添加了一个2小时的策略,名字叫做 2_hours, duration为2小时,副本为1,设置为默认策略。

因为名为default的策略不再是默认策略,因此,在查询使用default策略的表时要显式的加上策略名 “default”。

> select * from "default".cpu limit 2name: cpu---------time            cpu        host                host_id    usage_guest    usage_guest_nice    usage_idle   usage_iowait        usage_irq    usage_nice        usage_softirq    usage_steal    usage_system        usage_user1467884670000000000    cpu-total    ResourcePool-0246-billing07        0        0            99.79994164175388    0            0        0.06251823446523729    0        0        0.12920435125646068    0.0083357646034517271467884670000000000    cpu9        billing07                0        0            97.79338014069532    1.8054162487519367    0        0            0        0        0.10030090272883943    0.3009027081135398

3)修改策略

修改策略使用如下语句修改

> ALTER RETENTION POLICY "2_hours" ON "telegraf" DURATION 4h DEFAULT> show retention POLICIES on telegrafname    duration    shardGroupDuration    replicaN    defaultdefault    0        168h0m0s        1        false2_hours    4h0m0s        1h0m0s            1        true

可以看到,修改后的策略发生了变化。

4)删除策略

InfluxDB中策略的删除操作如下所示:

> drop retention POLICY "2_hours" ON "telegraf"> show retention POLICIES on telegrafname    duration    shardGroupDuration    replicaN    defaultdefault    0        168h0m0s        1        false

可以看到,名为2_hours的策略已经被删除了。

四、其他说明

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

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

--查询策略

show retention policies on yunhedb

--修改策略

alter retention policy "autogen" on "yunhedb" duration 730d replication 1 default;

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

持续时间文字指定一段时间。由下面列出的持续时间单位立即跟随(没有空格)的整数文字被解释为持续时间文字。可以使用混合单位指定持续时间。

单位 含义
NS 纳秒(十亿分之一秒)
你或μ 微秒(百万分之一秒)
女士 毫秒(千分之一秒)
小号 第二
分钟
H 小时
d
w ^
duration_lit        = int_lit duration_unit .duration_unit       = "ns" | "u" | "µ" | "ms" | "s" | "m" | "h" | "d" | "w" .

 

转载于:https://www.cnblogs.com/zouhao/p/10997757.html

你可能感兴趣的文章
python的函数及参数
查看>>
Elasticsearch 常用基本查询
查看>>
[C++]红色波浪线是什么意思
查看>>
如何保存或读取数据(到android的data目录)利用context获取常见目录可优化代码...
查看>>
使用JavaStcript对数组元素去重的方法
查看>>
LaTeX 中换段落
查看>>
Summary--1--1011
查看>>
JVM的反射实现
查看>>
JS保留小数点,四舍五入
查看>>
6.20-Param reconfig讨论
查看>>
Golang(七)golang.org/x/time/rate 实现频率限制
查看>>
bzoj2565: 最长双回文串 pam
查看>>
洛谷P2617 Dynamic Rankings
查看>>
POJ 2125 Destroying The Graph
查看>>
POJ 3668 Game of Lines
查看>>
C语言——指针型函数(返回指针值得函数)
查看>>
GIT问题(一)——push冲突
查看>>
使用AutoMapper
查看>>
powershell小工具
查看>>
spring-data-elasticsearch使用笔记
查看>>