influxDB-數據保存策略


retention policy: 存儲策略,用於設置數據保留的時間,每個數據庫剛開始會自動創建一個默認的存儲策略 autogen,數據保留時間為永久,之后用戶可以自己設置,例如保留最近2小時的數據。插入和查詢數據時如果不指定存儲策略,則使用默認存儲策略,且默認存儲策略可以修改。InfluxDB 會定期清除過期的數據。

一、InfluxDB 數據保存策略 說明

InfluxDB的數據保留策略(RP) 用來定義數據在InfluxDB中存放的時間,或者定義保存某個期間的數據。

一個數據庫可以有多個保留策略,但每個策略必須是獨一無二的。

二、InfluxDB 數據保留策略 目的

InfluxDB本身不提供數據的刪除操作, 因此用來控制數據量的方式就是定義數據保留策略.

因此定義數據保留策略的目的是讓InfluxDB能夠知道可以丟棄哪些數據, 從而更高效的處理數據.

三、InfluxDB 數據保留策略 操作

1.查詢策略

可以通過如下語句查看數據庫的現有策略:

> show retention policies on hyp1
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        true

可以看到telegraf只有一個策略, 個字段的含義如下:

  • name 名稱, 此示例名稱為default
  • duration 持續時間, 0代表無限制
  • shardGroupDuration shardGroup的存儲時間, shardGroup是InfluxDB的一個基本存儲結構, 應該大於這個時間的數據在查詢效率上應該有所降低.
  • replicaN 全稱是REPLICATION, 副本個數
  • default 是否是默認策略

2.新建策略

1 > CREATE RETENTION POLICY "2_hours" ON "hyp1" DURATION 2h REPLICATION 1 DEFAULT
2 > show retention policies on hyp1
3 name    duration shardGroupDuration replicaN default
4 ----    -------- ------------------ -------- -------
5 autogen 0s       168h0m0s           1        false
6 2_hours 2h0m0s   1h0m0s             1        true

通過上面的語句可以添加策略,本例在 telegraf 庫添加了一個2小時的策略,名字叫做 2_hours, duration為2小時,副本為1,設置為默認策略。

因為名為default的策略不再是默認策略,因此,在查詢使用default策略的表時要顯式的加上策略名 “default”。

select * from "2_hours".weather
#為啥我select后不顯示

3.修改策略

> ALTER RETENTION POLICY "2_hours" ON "hyp1"  DURATION 4h DEFAULT

> show retention policies on hyp1
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        false
2_hours 4h0m0s   1h0m0s             1        true

4.刪除策略

> drop retention POLICY "2_hours" ON "hyp1"
> show retention policies on hyp1
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        false


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM