时序数据库InfluxDB
在系統(tǒng)服務部署過后,線上運行服務的穩(wěn)定性是系統(tǒng)好壞的重要體現(xiàn),監(jiān)控系統(tǒng)狀態(tài)至關重要,經(jīng)過調(diào)研了解,時序數(shù)據(jù)庫influxDB在此方面表現(xiàn)優(yōu)異。
influxDB介紹
時間序列數(shù)據(jù)是以時間字段為每行數(shù)據(jù)的標示,比如股票市場的價格,環(huán)境中的溫度,主機的CPU使用率等。但是又有什么數(shù)據(jù)是不包含timestamp的呢?幾乎所有的數(shù)據(jù)都可以打上一個timestamp字段。時間序列數(shù)據(jù)更重要的一個屬性是如何去查詢它。在查詢的時候,對于時間序列我們總是會帶上一個時間范圍去過濾數(shù)據(jù)。同時查詢的結(jié)果里也總是會包含timestamp字段。
InfluxDB 是一個開源分布式時序、事件和指標數(shù)據(jù)庫。使用 Go 語言編寫,無需外部依賴。其設計目標是實現(xiàn)分布式和水平伸縮擴展。
它有三大特性:
Time Series (時間序列):你可以使用與時間有關的相關函數(shù)(如最大,最小,求和等)
Metrics(度量):你可以實時對大量數(shù)據(jù)進行計算
Eevents(事件):它支持任意的事件數(shù)據(jù)
特點:
schemaless(無結(jié)構(gòu)),可以是任意數(shù)量的列
min, max, sum, count, mean, median 一系列函數(shù),方便統(tǒng)計
Native HTTP API, 內(nèi)置http支持,使用http讀寫
Powerful Query Language 類似sql
操作介紹
遠程連接
| 1 | influx -host xx.xx.xx.xx -port xxxx(默認8086) -username xx -password xx -database xx |
創(chuàng)建及使用數(shù)據(jù)庫
| 1 2 3 | create database "test"; --創(chuàng)建數(shù)據(jù)庫 show databases; ?--查看數(shù)據(jù)庫 use test; --選取數(shù)據(jù)庫 |
增刪改查
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | SHOW MEASUREMENTS ?--查詢當前數(shù)據(jù)庫中含有的表 SHOW FIELD KEYS --查看當前數(shù)據(jù)庫所有表的字段 SHOW series from pay --查看key數(shù)據(jù) SHOW TAG KEYS FROM "pay" --查看key中tag key值 SHOW TAG VALUES FROM "pay" WITH KEY = "merId" --查看key中tag 指定key值對應的值 SHOW TAG VALUES FROM cpu WITH KEY IN ("region", "host") WHERE service = 'redis' DROP SERIES FROM <measurement_name[,measurement_name]> WHERE <tag_key>='<tag_value>' --刪除key SHOW CONTINUOUS QUERIES ? --查看連續(xù)執(zhí)行命令 SHOW QUERIES ?--查看最后執(zhí)行命令 KILL QUERY <qid> --結(jié)束命令 SHOW RETENTION POLICIES ON mydb ?--查看保留數(shù)據(jù) 查詢數(shù)據(jù) SELECT * FROM /.*/ LIMIT 1 ?--查詢當前數(shù)據(jù)庫下所有表的第一行記錄 select * from pay ?order by time desc limit 2 select * from ?db_name."POLICIES name".measurement_name --指定查詢數(shù)據(jù)庫下數(shù)據(jù)保留中的表數(shù)據(jù) POLICIES name數(shù)據(jù)保留 刪除數(shù)據(jù) delete from "query" --刪除表所有數(shù)據(jù),則表就不存在了 drop MEASUREMENT "query" ? --刪除表(注意會把數(shù)據(jù)保留刪除使用delete不會) DELETE FROM cpu DELETE FROM cpu WHERE time < '2000-01-01T00:00:00Z' DELETE WHERE time < '2000-01-01T00:00:00Z' DROP DATABASE “testDB” --刪除數(shù)據(jù)庫 DROP RETENTION POLICY "dbbak" ON mydb --刪除保留數(shù)據(jù)為dbbak數(shù)據(jù) DROP SERIES from pay where tag_key='' --刪除key中的tag SHOW SHARDS ?--查看數(shù)據(jù)存儲文件 DROP SHARD 1 SHOW SHARD GROUPS SHOW SUBSCRIPTIONS |
6、數(shù)據(jù)保留命令
查看保留期?SHOW RETENTION POLICIES ON mydb
修改保留期?ALTER RETENTION POLICY default ON online DEFAULT
刪除保留期?DROP RETENTION POLICY <retentionpolicy> ON <database>
創(chuàng)建保留期?REATE RETENTION POLICY "rp_name" ON "db_name" DURATION 30d REPLICATION 1 DEFAULT
rp_name:策略名
db_name:具體的數(shù)據(jù)庫名
30d:保存30天,30天之前的數(shù)據(jù)將被刪除
它具有各種時間參數(shù),比如:h(小時),w(星期)m minutes h hours d days w weeks INF infinite
REPLICATION 1:副本個數(shù),這里填1就可以了
DEFAULT設為默認的策略
目前,我們已經(jīng)influxdb+grafana應用到數(shù)據(jù)庫監(jiān)控、Kafka數(shù)據(jù)流監(jiān)控、服務頁面數(shù)據(jù)統(tǒng)計監(jiān)控等,炫酷的頁面給你不一樣的體驗,試試吧!
關注微信公眾號:正版喬,和我一起探索日常的編程樂趣~?
推薦閱讀:
NES像素風格的Raspberry
dalao自動報表郵件2.0
我給大佬寫自動報表郵件系統(tǒng)
網(wǎng)速問題?更換國內(nèi)源吧!
【翻譯】什么是最重要的機器學習技術(shù)?
SQL行列乾坤大挪移
一個學統(tǒng)計的程序員
喜歡Coding
喜歡硬件
喜歡樹莓派
喜歡深度學習
喜歡你
轉(zhuǎn)載于:https://www.cnblogs.com/qiaohaoforever/p/10252952.html
總結(jié)
以上是生活随笔為你收集整理的时序数据库InfluxDB的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Day 1 用户交互
- 下一篇: linux cmake编译源码,linu