InfluxDB入門
InfluxDB(時序資料庫),常用的一種使用場景:監控資料統計。每毫秒記錄一下電腦記憶體的使用情況,然後就可以根據統計的資料,利用圖形化介面(InfluxDB V1一般配合Grafana)製作記憶體使用情況的折線圖;
可以理解為按時間記錄一些資料(常用的監控資料、埋點統計資料等),然後製作圖表做統計;
目前(2019-09-29)建議使用InfluxDB V1 版本
1、什麼是InfluxDB
從文章開票的介紹裡能大概知道它的使用場景,下面介紹來自維基百科:
InfluxDB是一個由InfluxData開發的開源時序型資料。它由Go寫成,著力於高效能地查詢與儲存時序型資料。InfluxDB被廣泛應用於儲存系統的監控資料,IoT行業的實時資料等場景。
2、對常見關係型資料庫(MySQL)的基礎概念對比
概念 | MySQL | InfluxDB |
---|---|---|
資料庫(同) | database | database |
表(不同) | table | measurement |
列(不同) | column | tag(帶索引的,非必須)、field(不帶索引)、timestemp(唯一主鍵) |
-
tag set:不同的每組tag key和tag value的集合;
-
field set:每組field key和field value的集合;
-
retention policy:資料儲存策略(預設策略為autogen)InfluxDB沒有刪除資料操作,規定資料的保留時間達到清除資料的目的;
-
series:共同retention policy,measurement和tag set的集合;
-
示例資料如下: 其中census是measurement,butterflies和honeybees是field key,location和scientist是tag key
name: census
————————————
time butterflies honeybees location scientist
2015-08-18T00:00:00Z 12 23 1 langstroth
2015-08-18T00:00:00Z 1 30 1 perpetua
2015-08-18T00:06:00Z 11 28 1 langstroth
2015-08-18T00:06:00Z 11 28 2 langstroth
示例中有三個tag set
3、注意點
- tag 只能為字串型別
- field 型別無限制
- 不支援join
- 支援連續查詢操作(彙總統計資料):CONTINUOUS QUERY
- 配合Telegraf服務(Telegraf可以監控系統CPU、記憶體、網路等資料)
- 配合Grafana服務(資料展現的影像介面,將influxdb中的資料視覺化)
4、常用InfluxQL
-- 檢視所有的資料庫
show databases;
-- 使用特定的資料庫
use database_name;
-- 檢視所有的measurement
show measurements;
-- 查詢10條資料
select * from measurement_name limit 10;
-- 資料中的時間欄位預設顯示的是一個納秒時間戳,改成可讀格式
precision rfc3339; -- 之後再查詢,時間就是rfc3339標準格式
-- 或可以在連線資料庫的時候,直接帶該引數
influx -precision rfc3339
-- 檢視一個measurement中所有的tag key
show tag keys
-- 檢視一個measurement中所有的field key
show field keys
-- 檢視一個measurement中所有的儲存策略(可以有多個,一個標識為default)
show retention policies;
5、InfluxDB Java Demo
相關文章
- influxdb使用入門UX
- influxdbUX
- InfluxDB、Grafana等開源軟體的監控後門UXGrafana
- 入門入門入門 MySQL命名行MySql
- influxdb基本操作UX
- influxdb知識總結(2)--- influxdb 中的重要概念UX
- 如何入CTF的“門”?——所謂入門就是入門
- 何入CTF的“門”?——所謂入門就是入門
- scala 從入門到入門+
- makefile從入門到入門
- ACM入門之新手入門ACM
- JMeter+InfluxDB+GrafanaJMeterUXGrafana
- 【小入門】react極簡入門React
- gRPC(二)入門:Protobuf入門RPC
- 《Flutter 入門經典》之“Flutter 入門 ”Flutter
- 新手入門,webpack入門詳細教程Web
- Android入門教程 | RecyclerView使用入門AndroidView
- linux新手入門――shell入門(轉)Linux
- 通過Python將監控資料由influxdb寫入到MySQLPythonUXMySql
- InfluxDB 管理工具UX
- Influxdb的Meta data分析UX
- Influxdb 介紹與使用UX
- influxdb 原理與應用UX
- influxdb的基本概念UX
- influxdb 筆記: 安裝UX筆記
- influxdb 筆記: API & CRUDUX筆記API
- logstash輸出到influxdbUX
- Jmeter+Influxdb+Grafana搭建JMeterUXGrafana
- InfluxDB從原理到實戰 - 一篇文章搞懂InfluxDB時區UX
- 為什麼是InfluxDB | 寫在《InfluxDB原理和實戰》出版之際UX
- MyBatis從入門到精通(一):MyBatis入門MyBatis
- SqlSugar ORM 入門到精通【一】入門篇SqlSugarORM
- Storm入門指南第二章 入門ORM
- VUE入門Vue
- MyBatis 入門MyBatis
- CSS 入門CSS
- JavaScript 入門JavaScript
- Nginx 入門Nginx