一分鐘 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 磨刀霍霍。

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

<code>https://portal.influxdata.com/downloads//<code>
一分鐘 Get 時序數據庫 InfluxDB 的技能

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

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

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


一分鐘 Get 時序數據庫 InfluxDB 的技能


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

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


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 等等。


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

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


4


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


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


分享到:


相關文章: