日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

關鍵概念

更新時間:

在深入了解TSDB For InfluxDB?前,最好先熟悉數據庫的一些關鍵概念。本文簡單地介紹了這些概念和在TSDB For InfluxDB?中的常用術語。我們在下面列出了我們將涵蓋的所有術語,但是建議您從頭到尾閱讀本文檔,以便更全面地了解TSDB For InfluxDB?。

database

field key

field set

field value

measurement

point

retention policy

series

tag key

tag set

tag value

timestamp

關于更詳細的描述,請查看文檔專業術語。

示例數據

下一章節將參考下面列出來的數據。雖然這些數據是虛構的,但是在TSDB For InfluxDB?中具有代表性。這些數據展示了從2015年8月18日午夜到2015年8月18日6時12分,兩位科學家(langstrothperpetua)在兩個地點(location 1和location 2)分別計數得出的butterflieshoneybees的數量。假設數據存儲在名為my_database的數據庫中,并受到數據保留策略autogen的約束。其中,census是measurement;time列中的是時間戳;butterflieshoneybees都是field key,butterflies列和honeybees列中的數據是field value,locationscientist都是tag key,location列和scientist列中的數據是tag value。

name: census

time

butterflies

honeybees

location

scientist

2015-08-18T00:00:00Z

12

23

1

langstroth

2015-08-18T00:00:00Z

1

30

1

perpetua

2015-08-18T00:06:00Z

11

28

1

langstroth

2015-08-18T00:06:00Z

3

28

1

perpetua

2015-08-18T05:54:00Z

2

11

2

langstroth

2015-08-18T06:00:00Z

1

10

2

langstroth

2015-08-18T06:06:00Z

8

23

2

perpetua

2015-08-18T06:12:00Z

7

22

2

perpetua

討論

現在您已經在TSDB For InfluxDB?中看到了一些示例數據,這一章節將詳細分析這些數據的含義。

TSDB For InfluxDB?是一個時序數據庫,因此從時間開始分析是有意義。在上面的數據中,有一列是time,TSDB For InfluxDB?中所有的數據都有這一列。time存儲著時間戳,并且時間戳是以RFC3339 UTC格式展示與特定數據相關聯的日期和時間。

接下來的兩列,名為butterflieshoneybees,稱為field。field由field key和field value組成,其中,field key(butterflieshoneybees)是字符串,field key butterflies告訴我們蝴蝶的數量:從12到7,而field key honeybees告訴我們蜜蜂的數量:從23到22。

field value是您的數據,它們可以是字符串、浮點數、整數或者布爾值。因為TSDB For InfluxDB?是一個時序數據庫,所以field value始終和時間戳相關聯。示例數據中的field value如下:

12   23
1    30
11   28
3    28
2    11
1    10
8    23
7    22

field key-value對的集合組成一個field set,上面示例數據中總共有8個field set:

* butterflies = 12   honeybees = 23
* butterflies = 1    honeybees = 30
* butterflies = 11   honeybees = 28
* butterflies = 3    honeybees = 28
* butterflies = 2    honeybees = 11
* butterflies = 1    honeybees = 10
* butterflies = 8    honeybees = 23
* butterflies = 7    honeybees = 22

field是TSDB For InfluxDB?數據結構中必要部分之一,在TSDB For InfluxDB?中不能沒有field。同樣需要注意的是,field是沒有索引的。如果使用field value作為過濾條件來進行查詢,那么必須掃描完所有數據,才能找到與查詢中的其它條件也都匹配的所有結果。因此,相對于用tag作為過濾條件的查詢來說,那些用field value作為過濾條件的查詢性能會低很多(下文會有更多關于tag的介紹)。一般來說,field不應該包含經常被查詢的元數據(metadata)。

示例數據中的最后兩列locationscientist,就是tag。tag由tag key和tag value組成。tag key和tag value都是字符串,并記錄元數據。示例數據中的tag key是locationscientist,其中,location有兩個tag value:12,scientist也有兩個tag value:langstrothperpetua

在上面的數據中,tag set是所有tag key-value對的不同組合。示例數據中有4個tag set:

* location = 1, scientist = langstroth
* location = 2, scientist = langstroth
* location = 1, scientist = perpetua
* location = 2, scientist = perpetua

在TSDB For InfluxDB?中,tag不是必須要有的字段,您不需要一定在數據結構中添加tag。但是,使用tag通常大有裨益。因為不像field,tag是被索引的,這意味著以tag作為過濾條件的查詢會更快,所以tag非常適合存儲經常被查詢的元數據。


為什么索引很重要:Schema案例研究

假設您的大多數查詢都是以field key butterflieshoneybees的值作為過濾條件:SELECT FROM “census” WHERE “butterflies” = 1SELECT FROM “census” WHERE “honeybees” = 23

因為沒有在field上建索引,TSDB For InfluxDB?會在第一個查詢中掃描butterflies的每個值,并在第二個查詢中掃描honeybees的每個值,然后才能返回查詢結果。這種方式會大大拉長查詢響應時間,特別是當查詢規模變得更大的時候。為了優化查詢性能,可以重新調整數據的schema結構,使原來的field(butterflieshoneybees)變為tag,tag(locationscientist)變為field:

name: census

time

location

scientist

butterflies

honeybees

2015-08-18T00:00:00Z

1

langstroth

12

23

2015-08-18T00:00:00Z

1

perpetua

1

30

2015-08-18T00:06:00Z

1

langstroth

11

28

2015-08-18T00:06:00Z

1

perpetua

3

28

2015-08-18T05:54:00Z

2

langstroth

2

11

2015-08-18T06:00:00Z

2

langstroth

1

10

2015-08-18T06:06:00Z

2

perpetua

8

23

2015-08-18T06:12:00Z

2

perpetua

7

22

注意到現在butterflieshoneybees是tag,當再執行上面的查詢時,TSDB For InfluxDB?不需要在掃描它們的每一個值后才能返回結果了。


measurement作為tag,field和time列的容器,measurement的名字對存儲在相關field中數據的描述。measurement的名字是字符串,對于SQL用戶來說,measurement在概念上類似于table(表格)。示例數據中只有一個measurement,就是censuscensus告訴我們field value記錄了butterflieshoneybees的數量,而不是它們的大小、方向或某種幸福指數。

一個measurement可以有不同的保留策略(retention policies)。一個保留策略描述了TSDB For InfluxDB?保存數據的時間(DURATION)以及存儲在集群中數據的副本數量(REPLICATION)。

說明

復制系數(replication factors)不適用于單節點實例。

在示例數據中,census中的所有數據屬于保留策略autogen。TSDB For InfluxDB?自動創建autogen這個保留策略,它具有無限的存儲時間并且復制系數設為1。

現在您已經熟悉了measurement,tag set和保留策略,是時候討論序列(series)了。在TSDB For InfluxDB?中,序列是有共同的保留策略、measurement和tag set的數據的集合。以上示例數據中的共有4個序列:

Arbitrary series number

Retention policy

Measurement

Tag set

series 1

autogen

census

location = 1, scientist = langstroth

series 2

autogen

census

location = 2, scientist = langstroth

series 3

autogen

census

location = 1, scientist = perpetua

series 4

autogen

census

location = 2, scientist = perpetua

在設計數據的schema和在TSDB For InfluxDB?中處理數據時,理解序列的概念是很有必要的。

最后,數據點(point)就是在相同序列里,具有相同時間戳的field set。例如,這就是一個數據點:

name: census
-----------------
time                    butterflies  honeybees   location    scientist
2015-08-18T00:00:00Z    1            30          1           perpetua

上面例子中的序列,其保留策略為autogen,measurement為census,tag set為location = 1, scientist = perpetua。該數據點的時間戳是2015-08-18T00:00:00Z。

我們剛剛介紹的所有內容都存儲在數據庫(database)中——示例數據存在數據庫my_database。TSDB For InfluxDB?數據庫與傳統數據庫類似,并且作為用戶、保留策略、連續查詢和時序數據的邏輯容器。

數據庫可以有多個用戶、連續查詢、保留策略和measurement。TSDB For InfluxDB?是一個schemaless(無模式)數據庫,意味著隨時可以輕松地添加新的measurement、tag和field。TSDB For InfluxDB?的設計宗旨就是能夠很好地處理時序數據。

恭喜您,您已經完整地閱讀完本文檔了。通過本文檔,您已經知道了TSDB For InfluxDB?中的基本概念和術語。如果您是初學者,我們建議您瀏覽文檔入門指南、通過HTTP API寫入數據通過HTTP API查詢數據。希望我們的時序數據庫能夠很好地為您服務。

InfluxDB? is a trademark registered by InfluxData, which is not affiliated with, and does not endorse, TSDB for InfluxDB?.