InfluxDB簡單學習

2021-10-05 20:23:47 字數 3089 閱讀 5721

influxdb用go語言編寫的乙個開源分布式時序、事件和指標資料庫,和傳統是資料庫相比有不少不同的地方。

類似的資料庫有elasticsearch、graphite等。

提供了http介面的api來運算元據

提供了類似sql的資料庫語句

其中,point由時間戳(time)、資料(field)、標籤(tags)組成。

還有乙個重要的名詞:series

所有在資料庫中的資料,都需要通過圖表來表示,series表示這個表裡面的所有的資料可以在圖示上畫成幾條線(注:線條的個數由tags排列組合計算出來),舉例如下:

建立資料庫與表,和普通關係型資料庫類似,如下:

#建立資料庫

create

database

"db_name"

#顯示所有的資料庫

show

databases

#刪除資料庫

drop

database

"db_name"

#使用資料庫

use db_name
#顯示該資料庫中所有的表

show measurements
#建立表,直接在插入資料的時候指定表名

insert test,host=

127.0

.0.1

,monitor_name=test count=

1

#刪除表

drop measurement "measurement_name"
1.通過命令列

insert weather,altitude=

1000

,area=北 temperature=

11,humidity=

-4

這樣,我們就向資料庫中新增了一條資料。

2.通過http介面

influxdb提供了http的api介面,所以我們也可以通過下面的方式來插入資料。

curl -i -xpost 'http://localhost:8086/write?db=testdb' --data-binary 'weather,altitude=1000,area=北 temperature=11,humidity=-4'
line protocol格式

說明:influxdb儲存資料採用的是line protocol格式。那麼何謂line protoco格式?

line protocol格式:寫入資料庫的point的固定格式,如:

weather,altitude=1000,area=北 temperature=11,humidity=-4
注:

weather : —>表名

altitude=1000,area=北 :—> tag

temperature=11,humidity=-4 :—>field

在influxdb中並沒有提供資料的刪除與修改方法。

不過我們可以通過資料儲存策略(retention policies)來實現刪除。

1.資料儲存策略(retention policies)

influxdb是沒有提供直接刪除資料記錄的方法,但是提供資料儲存策略,主要用於指定資料保留時間,超過指定時間,就刪除這部分資料。

(1)檢視當前資料庫的retention policies

show retention policies on

"testdb"

(2)建立新的retention policies

create retention policy "rp_name"

on"db_name" duration 30d replication

1default

其中:

rp_name:策略名

db_name:具體的資料庫名

30d:儲存30天,30天之前的資料將被刪除

它具有各種時間引數,比如:h(小時),w(星期)

replication 1:副本個數,這裡填1就可以了

default 設為預設的策略

(3)修改retention policies

alter retention policy "rp_name"

on"db_name" duration 30d default

(4)刪除retention policies

drop retention policy "rp_name"
1.通過命令列

查詢最新的三條資料

select

*from weather order

bytime

desc

limit

3

2.通過http介面

influxdb是支援類sql語句的,具體的查詢語法都差不多,可以直接寫sql語句。例如:

參考資料:

InfluxDB學習筆記

時序資料庫模型 temperature相當於關係型資料庫的表名 後面是保持key value的屬性 空格分開後面是真正的值與時間戳 最高精度到納秒 它是一種支援多值模型的資料庫 定義在database空間下 資料清理以分片為單位 autogen預設保留策略 系統預設分片時長取決於資料保留時間 筆記 ...

influxdb學習記錄

influxdb是一款流行的時序資料庫應用,與prometheus最大的不同在於,influxdb採用推模型,即記錄方通過呼叫influxdb介面,將資料儲存到influxdb資料庫中。prometheus則是由自身不斷抓取記錄方的匯出資料。influxdb的查詢語句與sql類似,簡單易上手,pro...

InfluxDB系列(一)influxDB簡介

influxdb是乙個由influxdata用go語言開發的開源時序型資料庫,專注於海量時序資料的高效能讀 高效能寫 高效儲存與實時分析等,無需外部依賴。主要特點 1 基於時間序列,支援與時間有關的相關函式 如最大,最小,求和等 2 可度量性 你可以實時對大量資料進行計算 設計理念 優缺點優勢 架構...