InfluxDB 是一個開源分布式時序、事件和指標(biāo)數(shù)據(jù)庫。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供柳江網(wǎng)站建設(shè)、柳江做網(wǎng)站、柳江網(wǎng)站設(shè)計(jì)、柳江網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、柳江企業(yè)網(wǎng)站模板建站服務(wù),十年柳江做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
使用 Go 語言編寫,無需外部依賴。其設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)分布式和水平伸縮擴(kuò)展。
它有三大特性:
1. Time Series (時間序列):你可以使用與時間有關(guān)的相關(guān)函數(shù)(如最大,最小,求和等)
2. Metrics(度量):你可以實(shí)時對大量數(shù)據(jù)進(jìn)行計(jì)算
3. Eevents(事件):它支持任意的事件數(shù)據(jù)
特點(diǎn)
schemaless(無結(jié)構(gòu)),可以是任意數(shù)量的列
Scalable
min, max, sum, count, mean, median 一系列函數(shù),方便統(tǒng)計(jì)
Native HTTP API, 內(nèi)置http支持,使用http讀寫
Powerful Query Language 類似sql
Built-in Explorer 自帶管理工具
安裝好influxdb后通過終端登錄到數(shù)據(jù)庫,http api over 8086,頁面為8083
[root@mycat ~]# inf
influx influx_inspect influx_tsm infocmp infotocap
influxd influx_stress info infokey
通過influx登陸終端
[root@mycat ~]# influx
Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
Connected to http://localhost:8086 version 0.13.0
InfluxDB shell version: 0.13.0
1、Creating a database,注意關(guān)鍵詞的大小寫
> CREATE DATABASE mydb;
> SHOW DATABASES;
name: databases
---------------
name
telegraf
_internal
mytab
mydb
2、切換庫,有的關(guān)鍵字也沒那么規(guī)范
> use mydb
Using database mydb
> USE mydb
Using database mydb
3、Writing and exploring data,寫入一條數(shù)據(jù)需要基礎(chǔ)格式
1、a short primer on the datastore#存放數(shù)據(jù)的實(shí)體對象,相當(dāng)在關(guān)系型數(shù)據(jù)的表名
數(shù)據(jù)在時序數(shù)據(jù)庫(influxDB)是有組織的時間序列,包含一個 測量值(即在RMDB中的字段),在INFLUXDB中如cpu_load或者temperature,
Points are written to InfluxDB using the Line Protocol, which follows the following format:
The following lines are all examples of points that can be written to InfluxDB:
cpu,host=serverA,region=us_west value=0.64
payment,device=mobile,product=Notepad,method=credit billed=33,licenses=3i 1434067467100293230
stock,symbol=AAPL bid=127.46,ask=127.48
temperature,machine=unit42,type=assembly external=25,internal=37 1434067467000000000
這3條例子具體寫法:
InfluxDB中沒有顯式的新建表的語句,只能通過insert數(shù)據(jù)的方式來建立新表。如下所示:
insert disk_free,hostname=server01 value=442221834240i 1435362189575692182
其中 disk_free 就是表名,hostname是索引,value=xx是記錄值,記錄值可以有多個,最后是指定的時間
> insert cpu,host=serverA,region=us_west value=0.64
> select host,region ,value from cpu ##官方寫法是把這些測量值加引號
name: cpu
---------
timehostregionvalue
1481203149917071248serverAus_west0.64
insert disk_free,hostname=server01 value=442221834240i 1435362189575692182
在這條語句中,disk_free是表名,hostname=server01是tag,屬于索引,value=xx是field,這個可以隨意寫,隨意定義。
A point with the measurement name of cpu and tags host and region has now been written to the database, with the measured value of 0.64.
另一種類型的數(shù)據(jù)存儲,在相同的測量兩個字段:
相同的測量值包含兩個字段類型的數(shù)據(jù)
INSERT temperature,machine=unit42,type=assembly external=25,internal=37
> select * from temperature
name: temperature
-----------------
timeexternalinternalmachinetype
14812037975306309012537unit42assembly
刪除一個度量值
delete from cpu
show 支持的方法
CONTINUOUS, DATABASES, DIAGNOSTICS, FIELD, GRANTS, MEASUREMENTS, QUERIES,
RETENTION, SERIES, SHARD, SHARDS, STATS, SUBSCRIPTIONS, TAG, USERS
SHOW TAG KEYS FROM "temperature" 顯示度量值的標(biāo)簽===show create table aa
influxdb支持正則
series操作
series表示這個表里面的數(shù)據(jù),可以在圖表上畫成幾條線,series主要通過tags排列組合算出來
show series from mem