influxdb 中得 fields 與 tag 區(qū)別總結(jié)
發(fā)布時間:2023-07-05 05:14:28 文章來源:博客園
本位為博主原創(chuàng),轉(zhuǎn)載請注明出處:1.Field與Tag說明在InfluxDB表結(jié)構(gòu)中

本位為博主原創(chuàng),轉(zhuǎn)載請注明出處:


(資料圖片僅供參考)

1.Field與Tag說明

在 InfluxDB 表結(jié)構(gòu)中,field 和 tag 是用于存儲數(shù)據(jù)的兩種不同類型。

Field(字段):

Field 用于存儲實際的數(shù)值數(shù)據(jù),例如溫度、濕度等測量值。

Field 是可變的,可以隨時間的推移而改變其值。

Field 的值可以進行聚合計算,例如求平均值或總和等。

Field 不適合用于過濾和索引數(shù)據(jù),因為它沒有元數(shù)據(jù)信息。

Tag(標簽):

Tag 用于存儲元數(shù)據(jù)信息和標識數(shù)據(jù)的鍵值對,例如傳感器名稱、地理位置等。

Tag 是不可變的,一旦設(shè)置就不能更改。

Tag 的值不能進行聚合計算,只能用于過濾和分組查詢。

Tag 是 InfluxDB 中的主要索引機制之一,可以提高查詢性能和數(shù)據(jù)過濾效率。

2.查詢場景區(qū)別:2.1Field 的使用場景:

存儲實際的測量值,例如傳感器收集到的溫度、濕度等數(shù)據(jù)。

對數(shù)值進行聚合計算,例如計算平均值、總和、最大值等。

在時間序列數(shù)據(jù)分析中,F(xiàn)ield 可以表示監(jiān)測指標的具體數(shù)值,支持統(tǒng)計和匯總操作。

示例 SQL 查詢語句:

SELECT temp FROM dev_temp_monitor WHERE time > now() - 1m

在上面的查詢中,temp是一個 Field,用于獲取傳感器數(shù)據(jù)表中的溫度值。

2.2 Tag 的使用場景:

存儲元數(shù)據(jù)信息,例如設(shè)備名稱、傳感器類型等。

在查詢中用作過濾條件和分組依據(jù),以進行更精確和詳細的數(shù)據(jù)查詢。

支持按照標簽進行數(shù)據(jù)聚合和分組查詢,以便進行統(tǒng)計和分析。

示例 SQL 查詢語句:

SELECT mean(temp ) FROM dev_temp_monitor WHERE time > now() - 10m GROUP BY host

在上述查詢中,host是 Tags,用于過濾和分組傳感器數(shù)據(jù)表中最近十分鐘的不同傳感器的平均溫度值。

Field 更適合存儲實際測量值,并支持聚合計算,而 Tag 則用于存儲元數(shù)據(jù)信息和進行數(shù)據(jù)過濾、分組查詢。通過合理地使用 Field 和 Tag,可以更好地組織和查詢 InfluxDB 中的時序數(shù)據(jù)。

標簽:

資訊播報

樂活HOT

娛樂LOVE

精彩推送