-
修改retention policy
-
删除retention policy
-
写数据指定retention policy
-
查数据指定retention policy
-
series=measurement +tags set+retention policy
-
总结
=====================================================================
对于传统关系型数据库,增删改查应该是必备且常用的功能,而influxdb
常用的只有insert
和select
,没有提供update
语法,虽然有delete
可以删除数据(delete
语法和mysql
相似),但是需求不大。
因为存储的数据都是跟时间有关的测量数值,多用于图表展示,不太需要人为的去删除,而有时统计的数据是秒级,甚至毫秒级、纳秒级的,势必造成数据量巨大。如果一直长久存储会占用机器大量资源,而且有些数据越旧越失去它的时效性,越没有参考价值,所以保留策略retention policy
就是可以让数据存储一段时间后自动清除。
========================================================================================
retention policy
是数据库级别的属性,也是数据结构的一部分。一个database可以有多个保留策略retention policy
,但是只能有一个默认retention policy
。
show retention policies
当没有切换使用哪个数据库时,
可 on 指定查看哪个数据库的保留策略
show retention policies on databaseName
一个数据库新建都会分配一个默认的保留策略:
-
name
,保留策略的名称。 -
duration
,数据保留的持续时长,最小为1h
(retention policy duration must be at least 1h0m0s
)。如果设置为0,数据永久保存(官方默认RP),否则过期清理。 -
shardGroupDuration
,数据存储在shardGroup
的时间跨度。shardGroup
是influxdb
的一个逻辑存储结构,其下包含多个shard
。 -
replicaN
,全称replication,复制因子,它决定在集群中存储多少个数据副本。inflxudb集群中跨N个数据节点复制数据,其中N就是复制因子。复制因子对单个节点实例不起作用,所以单机版直接设置为1即可。 -
default
,true为默认保留策略。
shardGroupDuration
是根据retention policy
的duration
计算得来,不过也可以在创建retention policy
指定。如下是retention policy's duration
和shardGroupDuration
的计算关系:
| retention policy’s duration | shardGroupDuration |
| — | — |
| < 2 days | 1 h |
| >= 2 days and <= 6 months | 1 day |
| > 6 months | 7 days |
=====================================================================================
基本语法:
CREATE RETENTION POLICY <retention_policy_name> ON <database_name> DURATION REPLICATION [SHARD DURATION ] [DEFAULT]
-
retention_policy_name
: 策略名。 -
database_name
: 数据库名(db必须存在)。 -
duration
: 数据保留时长。 -
REPLICATION
: 复制因子,单机版设置为1即可。 -
SHARD DURATION
:设置shardGroupDuration
时长,表示每个shard group
时间跨度时长。可不填,默认根据RP的duration计算。 -
default
: true为设置该RP为默认RP。
示例:
为monitor库创建一个数据保留时长30天的rp,同时设置shard duration为1d,副本为1,并设置为默认rp
create retention policy rp_30_days on monitor duration 30d replication 1 shard duration 1d default
为monitor库创建一个数据保留时长一个星期的rp,副本为1
create retention policy rp_one_week on monitor duration 1w replication 1
基本语法:
ALTER RETENTION POLICY <retention_policy_name> ON <database_name> DURATION REPLICATION [SHARD DURATION ] [DEFAULT]
ALTER可修改的部分有duration、replication、shard duration、default,修改时无需每个属性都写上,可修改哪个写哪个。
示例:
修改rp_1_week 保留数据时长为15days
alter retention policy rp_1_week on monitor duration 15d replication 1 default
设置rp_30_days为默认rp
alter retention policy rp_30_days on monitor default
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V:vip1024b 备注Java获取(资料价值较高,非无偿)
总结
总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。
如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。
如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
[外链图片转存中…(img-ln3j8ZZb-1711550300148)]