InfluxDB学习之InfluxDB数据保留策略(Retention Policies)
InfluxDB每秒可以处理成千上万条数据,要将这些数据全部保存下来会占用大量的存储空间,有时我们可能并不需要将所有历史数据进行存储,因此,InfluxDB推出了数据保留策略(Retention Policies),用来让我们自定义数据的保留时间。更多InfluxDB详细教程请看:InfluxDB系列学习教程目录
InfluxDB技术交流群:580487672(点击加入)
![]()
一、InfluxDB 数据保留策略 说明
InfluxDB的数据保留策略(RP) 用来定义数据在InfluxDB中存放的时间,或者定义保存某个期间的数据。
一个数据库可以有多个保留策略,但每个策略必须是独一无二的。
二、InfluxDB 数据保留策略 目的
InfluxDB本身不提供数据的删除操作,因此用来控制数据量的方式就是定义数据保留策略。
因此定义数据保留策略的目的是让InfluxDB能够知道可以丢弃哪些数据,从而更高效的处理数据。
三、InfluxDB 数据保留策略 操作
1)查询策略
可以通过如下语句查看数据库的现有策略:
> SHOW RETENTION POLICIES ON telegraf
name duration shardGroupDuration replicaN default
default 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 telegraf
name duration shardGroupDuration replicaN default
default 0 168h0m0s 1 false
2_hours 2h0m0s 1h0m0s 1 true
通过上面的语句可以添加策略,本例在 telegraf 库添加了一个2小时的策略,名字叫做 2_hours, duration为2小时,副本为1,设置为默认策略。
因为名为default的策略不再是默认策略,因此,在查询使用default策略的表时要显式的加上策略名 “default”。
> select * from "default".cpu limit 2
name: 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_user
1467884670000000000 cpu-total ResourcePool-0246-billing07 0 0 99.79994164175388 0 0 0.06251823446523729 0 0 0.12920435125646068 0.008335764603451727
1467884670000000000 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 telegraf
name duration shardGroupDuration replicaN default
default 0 168h0m0s 1 false
2_hours 4h0m0s 1h0m0s 1 true
可以看到,修改后的策略发生了变化。
4)删除策略
InfluxDB中策略的删除操作如下所示:
> drop retention POLICY "2_hours" ON "telegraf"
> show retention POLICIES on telegraf
name duration shardGroupDuration replicaN default
default 0 168h0m0s 1 false
可以看到,名为2_hours的策略已经被删除了。
四、其他说明
策略这个关键词“POLICY”在使用是应该大写,小写应该会出粗。
当一个表使用的策略不是默认策略时,在进行操作时一定要显式的指定策略名称,否则会出现错误。
好了,有关 InfluxDB数据保留策略(Retention Policies) 的相关内容就先为大家介绍到这里,有问题欢迎大家留言讨论。
更多InfluxDB详细教程请看:InfluxDB系列学习教程目录
InfluxDB技术交流群:580487672(点击加入)
InfluxDB学习之InfluxDB数据保留策略(Retention Policies)的更多相关文章
- Influxdb修改数据保留策略
retention policy: 存储策略,用于设置数据保留的时间,每个数据库刚开始会自动创建一个默认的存储策略 autogen,数据保留时间为永久,之后用户可以自己设置,例如保留最近2小时的数据. ...
- InfluxDB学习之InfluxDB连续查询(Continuous Queries)
在上一篇:InfluxDB学习之InfluxDB数据保留策略(Retention Policies) 中,我们介绍了 InfluxDB的数据保留策略,数据超过保存策略里指定的时间之后,就会被删除. 但 ...
- InfluxDB学习之InfluxDB的安装和简介
最近用到了 InfluxDB,在此记录下学习过程,同时也希望能够帮助到其他学习的同学. 本文主要介绍InfluxDB的功能特点以及influxDB的安装过程.更多InfluxDB详细教程请看:Infl ...
- InfluxDB学习之InfluxDB的基本操作| Linux大学
来源地址:https://www.linuxdaxue.com/influxdb-study-series-manual.html 本文属于<InfluxDB系列教程>文章系列,该系列共包 ...
- InfluxDB学习之InfluxDB的HTTP API查询操作
在 InfluxDB学习 的上一篇文章:InfluxDB学习之InfluxDB的HTTP API写入操作 中,我们介绍了使用InfluxDB的HTTP API进行数据写入操作的过程,本文我们再来介绍下 ...
- InfluxDB学习之InfluxDB的HTTP API写入操作
HTTP API也有两种操作:写入和查询,本文就先给大家介绍一下 InfluxDB的HTTP API的写入操作方式. 在InfluxDB学习的上一篇文章:InfluxDB学习之InfluxDB ...
- Rman备份的保留策略(retention policy)
什么是备份的保留策略(retention policy) 保留策略就是指某份备份是否要保留以及保留多久.可以使用configure retention policy命令来创建一个一致的.自动的备份保留 ...
- InfluxDB学习之InfluxDB的基本操作
InfluxDB提供类SQL语法,如果熟悉SQL的话会非常容易上手.本文就为大家介绍一下InfluxDB的基本操作. InfluxDB提供类SQL语法,如果熟悉SQL的话会非常容易上手. 本文 ...
- InfluxDB学习之InfluxDB的基本概念
InfluxDB与传统数据库在概念上有许多的不同,本文就给大家介绍下InfluxDB中的一些基本概念,更多InfluxDB详细教程请看:InfluxDB系列学习教程目录 InfluxDB技术交流群:5 ...
随机推荐
- OpenCV2学习笔记(一)
Mat - 图像的容器 在对图像进行处理时,首先需要将图像载入到内存中,而Mat就是图像在内存中的容器,管理着图像在内存中的数据.Mat是C++ 的一个类,由于OpenCV2中引入了内存自动管理机制, ...
- jQuery-1.9.1源码分析系列(十六)ajax——响应数据处理和api整理
ajax在得到请求响应后主要会做两个处理:获取响应数据和使用类型转化器转化数据 a.获取响应数据 获取响应数据是调用ajaxHandleResponses函数来处理. ajaxHandleRespon ...
- HTML特殊符号汇总
较常用的飘黄处理了 ´ ´ © © > > µ µ ® ® & & ° ° ¡ ¡ » » ¦ ¦ ÷ ÷ ¿ ¿ ¬ ¬ § § • • ½ ½ « « ¶ ¶ ¨ ...
- label用js,jquery取值赋值,以及怎么在后台取值
label标签在JS和Jquery中使用不能像其他标签一样用value获取它的值: 可以这样: JS: var label=document.getElementByIdx_x("id&qu ...
- 初入网络系列笔记(1)TCP/IP基础
一.借鉴说明,本博文借鉴以下博文 1.BlueTzar,TCP/IP四层模型, http://www.cnblogs.com/BlueTzar/articles/811160.html 2.叶剑峰,漫 ...
- jquery easyui菜单树显示
目前做了一个easyui项目需要显示多级菜单,菜单配置到数据库中,因此每级菜单都需要到数据库中取,用了jQuery EasyUI方便多了. 效果体验:http://hovertree.com/texi ...
- Debian 7 安装配置总结
最近几天折腾了一下Debian 7 (gnome桌面DVD版,KDE桌面CD版最后会提到),总的来说收获还是挺大的,对比以前使用ubuntu,debian 7给我的感觉像是一个新生婴儿,不带多余的花俏 ...
- ArcGIS标注
关于ArcGIS的标注问题整理. 要求: 保留小数点后三位, 若原数据小于1(.12345),对小数加0显示 分行显示两个字段值 解决: 右击图层 -- ”properties“(属性) 中选择“la ...
- UDS(ISO14229-2006) 汉译(No.3术语与定义)
下列术语适用于本文档. 3.1 integer 类型 定义正负整数的数据类型. 注:integer类型取值范围未在本文档定义. 3.2 diagnostic trouble code 由车载诊断系统获 ...
- ASP.NET MVC导出excel(数据量大,非常耗时的,异步导出)
要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式,后台开辟一个线程将excel导出到指 ...