一框喳、InfluxDB 數(shù)據(jù)保留策略 說明
InfluxDB的數(shù)據(jù)保留策略(RP) 用來定義數(shù)據(jù)在InfluxDB中存放的時間,或者定義保存某個期間的數(shù)據(jù)勋桶。
一個數(shù)據(jù)庫可以有多個保留策略椭员,但每個策略必須是獨一無二的雨涛。
二、InfluxDB 數(shù)據(jù)保留策略 目的
InfluxDB本身不提供數(shù)據(jù)的刪除操作赶么,因此用來控制數(shù)據(jù)量的方式就是定義數(shù)據(jù)保留策略肩豁。
因此定義數(shù)據(jù)保留策略的目的是讓InfluxDB能夠知道可以丟棄哪些數(shù)據(jù),從而更高效的處理數(shù)據(jù)。
三清钥、InfluxDB 數(shù)據(jù)保留策略 操作
1)查詢策略
可以通過如下語句查看數(shù)據(jù)庫的現(xiàn)有策略:
SHOW RETENTION POLICIES ON telegraf
name duration shardGroupDuration replicaN default
default 0 168h0m0s 1 true
可以看到琼锋,telegraf只有一個策略,各字段的含義如下:
name--名稱祟昭,此示例名稱為 default
duration--持續(xù)時間缕坎,0代表無限制
shardGroupDuration--shardGroup的存儲時間,shardGroup是InfluxDB的一個基本儲存結(jié)構(gòu)篡悟,應(yīng)該大于這個時間的數(shù)據(jù)在查詢效率上應(yīng)該有所降低谜叹。
replicaN--全稱是REPLICATION,副本個數(shù)
default--是否是默認(rèn)策略
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女仰,設(shè)置為默認(rèn)策略。
因為名為default的策略不再是默認(rèn)策略香府,因此董栽,在查詢使用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
可以看到企孩,修改后的策略發(fā)生了變化。
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的策略已經(jīng)被刪除了勿璃。
四、其他說明
策略這個關(guān)鍵詞“POLICY”在使用是應(yīng)該大寫推汽,小寫應(yīng)該會出粗补疑。
當(dāng)一個表使用的策略不是默認(rèn)策略時,在進行操作時一定要顯式的指定策略名稱歹撒,否則會出現(xiàn)錯誤莲组。