1. 程式人生 > >保留策略

保留策略

influxdb保留策略用來定義資料在influxDB中存放的時間,或者定義保留某個期間的資料,預設情況下,當我們建立一個數據庫的時候,會指定一個預設的策略名字為autogen

1、保留策略結構

(1)name:保留策略名字
(2)duration:表示資料可以保留的時間,最小是1h,最大是無窮大,無窮大的時候duration是0
(3)shardGroupDuration:shard group的儲存時間,如果查詢的資料大於一個shardGroup的duration,那麼查詢效率就會降低,shardGroup的值預設隨著duration的值變化,當然我們也可以自己指定:
在這裡插入圖片描述
(4)replication:表示每一個point在叢集中獨立的副本,當是單節點的情況下,這個值始終是1

2、操作保留策略

(1)建立保留策略

CREATE RETENTION POLICY <retention_policy_name> ON <database_name> DURATION <duration> REPLICATION <n> [SHARD DURATION <duration>] [DEFAULT]

示例:
在這裡插入圖片描述

(2)修改保留策略
duration、relication、shard duration、default至少要有一個

ALTER RETENTION POLICY <retention_policy_name> ON <database_name> DURATION <duration> REPLICATION <n> SHARD DURATION <duration> DEFAULT

在這裡插入圖片描述
在這裡插入圖片描述
(3)刪除保留策略

DROP RETENTION POLICY <retention_policy_name> ON <database_name>

針對上面的mydb進行drop:
在這裡插入圖片描述

3、遵循的規則

(1)一個數據庫可以有多個保留策略,但保留策略不可以出現重複(根據name判斷)
(2)每個資料庫最多隻能有一個(可以是0個)保留策略的default為真
(3)duration值必須大於shardGroupDuration值
(4)對於單節點influxdb,副本(replication)只能有一個,這裡的副本是叢集裡面才有意義的概念,表示的是每一個point在叢集裡面有多少個獨立的副本,所以單節點情況下,副本肯定都是1