B i M A P

InfluxDB | Elements of InfluxDB data

InfluxDB 以處理具有時間戳記的大數據資料、難以計數的資料來源為目的,所打造的時間序列資料庫。

在使用 InfluxDB 存取資料或查詢資料之前,讓我們先來了解資料在 InfluxDB 儲存時所包含的元素,這對於將來規劃寫入 InfluxDB 資料的架構和學習查詢語法都有很大的幫助。

這篇文章將簡述以下資料元素在 InfluxDB 中的意思:

  • bucket
  • measurement
  • timestamp
  • tag (key, value, set)
  • field (key, value, set)
  • series
  • point


bucket

可簡單的把他解釋為關聯式資料庫的 database。但同時可透過對 bucket 的設定維護此 bucket 下的資料的所應存續時間。


measurement

欄位名稱顯示為_measurement,可以視為資料庫下的 table 名稱。 measurement 的值都為字串(通常應為對於資料的描述)。


timestamp

InfluxDB 是為時間序列資料打造的資料庫,每一筆資料當然必須包含時間戳記。時間戳記會以奈秒(nanosecond)格式存取, 其顯示的欄位名稱為`_time`,以RFC3339 UTC時間格式顯示。


tag (key, value, set)

tag 非必要元素。他屬於一種索引(index)欄位,可以幫助我們更快查詢到想要的資料。

其中在寫入資料時,每個 tag 都包含 key(欄位名稱)、value (值)。不論是 tag key 或 tag value 都會是字串型態。而每筆資料的所包含的所有 tags 則稱為 tag set。


field (key, value, set)

field 是資料的值,包含 key (名稱)、value(值)。不同於tag的是,field key 為字串且顯示的欄位名稱為 _field ,而該名稱對應的值(field value)顯示的欄位名稱為 _value 。


series

相同的measurement, tag set, field key 的資料被稱為 series 。而一組measurement, tag set, field key 可以稱為series key。


point

相同的 series key 下,同一個時間戳的 field value 稱為一個 point 。



以 telegraf 收集伺服器效能的資料為例,下圖為查詢介面中所看到的資料元素說明:

influxdb data elements

延伸閱讀
jessie.shen的大頭照
Grafana 達人

在大數據時代,如何透過視覺化圖表及分析工具,是每間數位轉型中的公司必學的課程。在多不勝數的軟體工具中,我們期望透過ELK、InfluxDB、Grafana等開源軟體,與企業夥伴一同邁向成功!