5,6,7_InfluxDB数据保留策略,InfluxDB的关键概念,带有时区进行查询示例
5.InfluxDB學習之InfluxDB數據保留策略(Retention Policies)
5.1.InfluxDB數據保留策略說明
5.2.InfluxDB數據保留策略目的
5.3.InfluxDB數據保留策略操作
5.4.其他說明
6.InfluxDB學習之InfluxDB的關鍵概念
6.1.基本概念
6.2.InfluxDB特有概念
5.InfluxDB學習之InfluxDB數據保留策略(Retention Policies)
轉自:http://www.linuxdaxue.com/retention-policies-in-influxdb.html
InfluxDB每秒可以處理成千上萬條數據,要將這些數據全部保存下來會占用大量的存儲空間,有時我們可能并不需要將所有歷史數據進行存儲,因此,InfluxDB推出了數據保留策略(Retention Policies),用來讓我們自定義數據的保留時間。
5.1.InfluxDB數據保留策略說明
InfluxDB的數據保留策略(RP) 用來定義數據在InfluxDB中存放的時間,或者定義保存某個期間的數據。
一個數據庫可以有多個保留策略,但每個策略必須是獨一無二的。
5.2.InfluxDB數據保留策略目的
InfluxDB本身不提供數據的刪除操作,因此用來控制數據量的方式就是定義數據保留策略。
因此定義數據保留策略的目的是讓InfluxDB能夠知道可以丟棄哪些數據,從而更高效的處理數據。
5.3.InfluxDB數據保留策略操作
1)查詢策略
可以通過如下語句查看數據庫的現有策略:
可以看到,telegraf只有一個策略,各字段的含義如下:
name--名稱,此示例名稱為autogen duration--持續時間,0代表無限制 shardGroupDuration--shardGroup的存儲時間,shardGroup是InfluxDB的一個基本儲存結構,應該大于這個時間的數據在查詢效率上應該有所降低。 replicaN--全稱是REPLICATION,副本個數 default--是否是默認策略2)新建策略
> CREATE RETENTION POLICY "2_hours" ON "test" DURATION 2h REPLICATION 1 DEFAULT > SHOW RETENTION POLICIES ON test name duration shardGroupDuration replicaN default ---- -------- ------------------ -------- ------- autogen 0s 168h0m0s 1 false 2_hours 2h0m0s 1h0m0s 1 true >通過上面的語句可以添加策略,本例在 telegraf 庫添加了一個2小時的策略,名字叫做 2_hours, duration為2小時,副本為1,設置為默認策略。
3)修改策略
修改策略使用如下語句修改:
可以看到,修改后的策略發生了變化。
4)刪除策略
InfluxDB中策略的刪除操作如下所示:
可以看到,名為2_hours的策略已經被刪除了。
5.4.其他說明
策略這個關鍵詞”POLICY”在使用時應該大寫,小寫應該會出錯。
當一個表使用的策略不是默認策略時,在進行操作時一定要顯式的指定策略名稱,否則會出現錯誤。
6.InfluxDB學習之InfluxDB的關鍵概念
轉自: http://www.linuxdaxue.com/influxdb-study-key-concepts.html
InfluxDB作為最近才興起的時序數據庫,一些概念還與傳統的數據庫有所差別,因此,在此介紹下InfluxDB中的一些關鍵概念,以方便大家學習。
6.1.基本概念
1)database–數據庫,這個同傳統數據庫的數據庫概念。
2)measurement–數據表,在InfluxDB中,measurement即為表的作用,同傳統數據庫中的table作用一致。
| database | field key |
| field value | measurcement |
| retention policy | series |
| tag set | tag value |
6.2.InfluxDB特有概念
說明:在插入新數據時,tag、field和timestamp之間空格分隔。
7.帶有時區進行查詢示例
有時候查詢的時候,會發現InfluxDB少8小時,是因為時區導致的,在查詢的腳本中加入tz(‘Asia/Shanghai’)便可解決上述問題。
SELECT mean(value) FROM xxxxx WHERE job_id IN (‘73aa88e40’,‘3322sas444’) OR job_name =‘xxxxxxxxx’ AND time > now() - 10m GROUP BY time(10s), operator_name,operator_id fill(null) tz(‘Asia/Shanghai’)
總結
以上是生活随笔為你收集整理的5,6,7_InfluxDB数据保留策略,InfluxDB的关键概念,带有时区进行查询示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 85周岁的退伍残疾军人无儿无女能申请低保
- 下一篇: 9_InfluxDB常用函数(二)选择类