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 可度量性 你可以實時對大量資料進行計算 設計理念 優缺點優勢 架構...