zoukankan      html  css  js  c++  java
  • InfluxDB时序数据库的安装使用教程4(保留策略RP)

    四、保留策略

    1,基本介绍

    (1)保留策略 Retention Policy(RP)是 InfluxDB 数据架构的一部分,它描述了 InfluxDB 保存数据的时间。InfluxDB 会比较服务器本地的时间戳和请求数据里的时间戳,并删除比你在 RPs 里面用 DURATION 设置的更老的数据。
    (2)创建数据库时,InfluxDB 会自动创建一个名为 autogen 的保留策略,该保留策略保留时间为无限。

    2,创建一个默认的保留策略

    (1)下面我们使用 CREATE RETENTION POLICY 语句来创建一个默认 RP:

    • 这个 RP 的名字叫 two_hours 作用于 mydb 数据库上 
    • two_hours 保存数据的周期是两个小时,并作为 food_data 的默认 RP
    • 复制片参数(REPLICATION 1)是必须的,但是对于单个节点的 InfluxDB 实例,复制片只能设为 1
    CREATE RETENTION POLICY "two_hours" ON "mydb" DURATION 2h REPLICATION 1 DEFAULT

    (2)查看下数据的保留策略,可以发现 two_hours 会取代 autogen 作为 mydb 的默认 RP。

    SHOW RETENTION POLICIES ON "mydb"

    3,创建一个非默认的保留策略

    (1)我们同样使用 CREATE RETENTION POLICY 语句来创建一个非默认的 RP,与上面默认的保留策略相比,尾部少了个 DEFAULT:

    这个 RP 的名字叫 a_year 作用于 mydb 数据库上 
    a_year 保存数据的周期是 52 周,并作为 food_data 的一个非默认的 RP
    复制片参数(REPLICATION 1)是必须的,但是对于单个节点的 InfluxDB 实例,复制片只能设为 1
    CREATE RETENTION POLICY "a_year" ON "mydb" DURATION 52w REPLICATION 1

    (2)查看下数据的保留策略,可以发现 a_year 这个非默认的 RP 也添加成功了:

    SHOW RETENTION POLICIES ON "mydb"

     (3)由于 a_year 是非默认的 RP,如果要使用该策略,插入数据时需要指定。如果没有指定,仍然使用默认 RP。

    INSERT INTO "a_year" temperature,machine=unit42,type=assembly external=25,internal=37

    (4)查询非默认 RP 的数据时也要指定 RP:

    SELECT * FROM "a_year"."temperature"

    4,修改保留策略

    使用 ALTER RETENTION POLICY 语句可以修改保留策略。
    注意我们必须至少指定一个属性(可同时指定多个):DURATION,REPLICATION,SHARD DURATION 或者 DEFAULT
    ALTER RETENTION POLICY "what_is_time" ON "mydb" DURATION 3w SHARD DURATION 30m DEFAULT

    5,删除保留策略

    使用 DROP RETENTION POLICY 语句可以删除指定保留策略的所有 measurement 和数据:
    DROP RETENTION POLICY "what_is_time" ON "mydb"
  • 相关阅读:
    win8 连接到OneDrive时出现问题-感叹号
    让tp6显示详细的错误信息及行号
    TP6出现错误 No input file specified.
    Git 访问慢 解决办法
    mysql5.7当两个字段名类似,查询时会出错
    linux停止进程
    mysql更新数据时:当想mysql某插入有某字段设置了unique且和之前相同时,会报错,并停止运行
    php升级版本后的影响5.5->7.1


  • 原文地址:https://www.cnblogs.com/shanheyongmu/p/15667338.html
Copyright © 2011-2022 走看看