天天看點

一分鐘 Get 時序資料庫 InfluxDB 的技能

1

通過上期分享《實踐指路明燈,源碼剖析flink-metrics》,對當下較火的流式處理架構 flink 的名額監控體系有了全局的認識,并結合 flink-metrics-xxxx 子產品進行深入分析,對 flink 是如何內建監控輪子了如之掌。

不過,源碼中的 flink-metrics-influxdb 子產品,你是否留意到?按照設計規範,不用多想,那肯定是 flink 名額監控對 influxdb 的內建。

那麼,influxdb ?influxdb 是啥?influxdb 你用過嗎?

今天稍微花一分鐘,帶你 Get 這門技能,放心不會傷腦。

一分鐘 Get 時序資料庫 InfluxDB 的技能

(圖看不清放大了去看)

2

去說 InfluxDB 之前,先聊聊,什麼是時間序列資料(時序資料)?

時間序列資料就是在不同時間上收集到的資料,主要有兩個關鍵名額:監測時間和監測數值。生活中常見的時間序列資料,包括股票價格、網站的 PV/UV、伺服器系統監控資料(比如 CPU 和記憶體占用率)等等。

那時間序列資料應該存到哪兒?時間序列資料庫(TSDB)是啥?

A time series database (TSDB) is a software system that is optimized for storing and serving time series through associated pairs of time(s) and value(s)

https://en.wikipedia.org/wiki/Time_series_database

簡單去了解,時間序列資料可以存儲到 TSDB 中,因為 TSDB 是用于存儲和分析時間序列資料的資料庫。

一分鐘 Get 時序資料庫 InfluxDB 的技能

如圖所示,在 DB-ENGINES 給出的最新的時間序列資料庫的排名中,InfluxDB 高居第一位,而臉熟的 Prometheus、Graphite 等也位居其中,下面就以 InfluxDB 作為突破口進行體驗。

3

3.1 磨刀霍霍。

首先,選擇您最中意的版本進行下載下傳。

https://portal.influxdata.com/downloads/           

複制

一分鐘 Get 時序資料庫 InfluxDB 的技能

本次以 v1.7.10 的 Mac 系統版本進行安裝。

https://dl.influxdata.com/influxdb/releases/influxdb-1.7.10_darwin_amd64.tar.gz           

複制

下載下傳解壓後的目錄全局概覽,不同安裝方式會不同,但是着重關注 usr/bin/ 目錄,後續操作的指令全在這裡啦。

一分鐘 Get 時序資料庫 InfluxDB 的技能

然後,按照安裝手冊進行配置,若是為了體驗,預設配置也夠用啦。

https://docs.influxdata.com/influxdb/v1.7/introduction/installation/           

複制

3.2 披荊斬棘。

下載下傳安裝已經完成,執行 ./influxd 指令啟動 InfluxDB。

一分鐘 Get 時序資料庫 InfluxDB 的技能

一頓指令操作猛如虎,熟練工種。

一分鐘 Get 時序資料庫 InfluxDB 的技能

熟練工種,指令多練就是啦,感受一下與傳統資料庫有啥不同?

一分鐘 Get 時序資料庫 InfluxDB 的技能

另外,InfluxDB 也提供了 HTTP API 方式操作。

一分鐘 Get 時序資料庫 InfluxDB 的技能

簡單整理了一下,/ping 可以擷取 InfluxDB 執行個體資訊以及健康狀況;/write 提供插入資料的功能;/query 提供查詢資料的功能。

InfluxDB 提供 API 要比這多,用到之時再深入也未嘗不可。

3.3 撥雲見日

InfluxDB 與傳統資料庫有啥不同呢?

一分鐘 Get 時序資料庫 InfluxDB 的技能

如圖示意,InfluxDB 中的 measurement 類似于傳統資料庫中的表,包含了列 time、tags 和 fields。

tag key/value 類似于傳統資料庫裡索引的列;

field key/value 類似于傳統資料庫裡沒有索引的列;

time 存着時間戳,類似于傳統資料庫的主鍵。

另外,有沒有什麼輪子,可以更好的展示 InfluxDB 中的資料呢?

InfluxDB 位居 DB-ENGINES 排名首榜,對應的展示資料的輪子還是很多的,例如官方的 Chronograf,以及提及多次的 Grafana 等等。

閑暇之餘,可以參考官方文檔去深入。

https://docs.influxdata.com/influxdb/v1.7/introduction/getting-started/           

複制

4

InfluxDB 本次就說到這裡,希望你們能有所獲。

下期,我們将結合源碼,去看看别人都是怎麼用 InfluxDB 的?并嘗試把 InfluxDB、Grafana 這些輪子組裝到一起,看看組裝之後的車子能否跑起來,敬請期待。