InfluxDB每秒可以处理成千上万条数据,要将这些数据全部保存下来会占用大量的存储空间,有时我们可能并不需要将所有历史数据进行存储,因此,InfluxDB推出了数据保留策略(Retention Policies),用来让我们自定义数据的保留时间。更多InfluxDB详细教程请看:InfluxDB系列学习教程目录

一、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”在使用是应该大写,小写应该会出粗。

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

转载于:https://www.cnblogs.com/gaoguangjun/p/8513032.html

InfluxDB学习之InfluxDB数据保留策略(Retention Policies)相关推荐

  1. influxdb连续查询CQ和保留策略RP

    目录 保留策略RP 连续查询: CQ  (Continuous  Query ) 1)新建连续查询 2)显示所有已存在的连续查询 3)删除Continuous Queries 保留策略RP 一.Inf ...

  2. 5,6,7_InfluxDB数据保留策略,InfluxDB的关键概念,带有时区进行查询示例

    5.InfluxDB学习之InfluxDB数据保留策略(Retention Policies) 5.1.InfluxDB数据保留策略说明 5.2.InfluxDB数据保留策略目的 5.3.Influx ...

  3. Influxdb修改数据保留策略

    2019独角兽企业重金招聘Python工程师标准>>> 背景 Influxdb默认的数据保留策略的duration是0s,即长期保留.如果业务上无需长期保留,可以修改数据保留策略. ...

  4. 4_InfluxDB学习之InfluxDB的基本概念、InfluxDB中独有的概念(Point,series),InfluxDB学习之InfluxDB的基本操作,InfluxDB操作方式,crud

    4.InfluxDB学习之InfluxDB的基本概念 4.1.与传统数据库中的名词做比较 4.2.InfluxDB中独有的概念 4.2.1.Point 4.2.2.series 4.3.InfluxD ...

  5. Rman备份的保留策略(retention policy)

    什么是备份的保留策略(retention policy) 保留策略就是指某份备份是否要保留以及保留多久.可以使用configure retention policy命令来创建一个一致的.自动的备份保留 ...

  6. InfluxDB学习之InfluxDB的基本操作

    InfluxDB提供类SQL语法,如果熟悉SQL的话会非常容易上手. 本文就为大家介绍一下InfluxDB的基本操作. InfluxDB提供类SQL语法,如果熟悉SQL的话会非常容易上手. 一.Inf ...

  7. linux查找influx的安装位置,InfluxDB学习之InfluxDB的安装和简介 | Linux大学

    最近用到了 InfluxDB,在此记录下学习过程,同时也希望能够帮助到其他学习的同学. 本文主要介绍InfluxDB的功能特点以及influxDB的安装过程.更多InfluxDB详细教程请看:Infl ...

  8. InfluxDB学习之InfluxDB的安装和简介

    系列详情请看:<InfluxDB系列教程>: InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的 ...

  9. Redis学习笔记--Redis数据过期策略详解==转

    本文对Redis的过期机制简单的讲解一下 讲解之前我们先抛出一个问题,我们知道很多时候服务器经常会用到redis作为缓存,有很多数据都是临时缓存一下,可能用过之后很久都不会再用到了(比如暂存sessi ...

最新文章

  1. mahout 算法集
  2. MySQL异步复制延迟解决的架构设计与运维架构ppt
  3. CF 1475 D. Cleaning the Phone 思维模型
  4. 如何利用VUE动态添加class样式
  5. Atitit.php opcode虚拟机指令集 分类以及详细解释
  6. 2017华为笔试题3
  7. Keil开发环境安装教程
  8. 计算机联锁的应用领域,全电子计算机联锁系统优缺点
  9. 中国文化和旅游部长:肯定《吴哥王朝》培养本地演员
  10. 在 Kotlin 序列化中使用 DataStore
  11. MySQL 安装失败 Failed to find valid data directory
  12. 阿里妈妈智能诊断工程能力建设
  13. 计算机考研跨审计好跨嘛,跨专业如何考研
  14. 微信无法连接服务器10,微信无法连接到服务器【应对方式】
  15. 学计算机买笔记本是i5 i7,i7一定比i5强?买电脑陷阱你一定要注意了
  16. Mathematica中将多个动态图合并在一起(包括自动与手动)
  17. 【系统分析师之路】系统安全章节错题集锦
  18. ap统计学需要什么计算机,AP统计学介绍及备考建议
  19. 中国塑料管道行业发展态势及投资前景分析报告2021版
  20. Linux电源管理之Runtime PM

热门文章

  1. 操作系统进程学习(Linux 内核学习笔记)
  2. vue中的ES6语法整理1
  3. 【UVA 437】The Tower of Babylon(拓扑排序+DP,做法)
  4. mybatis里oracle与MySQL的insert_update
  5. android学习日记13--数据存储之ContentProvide
  6. linux清理备份日志,服务器日志清理备份
  7. linux 添加path环境变量中,在Linux里设置环境变量PATH的方法是什?
  8. java 数据结构详解,数组,集合,HashMap
  9. Android 微信登录
  10. 支付宝 PEM routines:PEM_read_bio:no start line