查詢 - Amazon Timestream

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

查詢

使用 Timestream for Live Analytics,您可以輕鬆存放和分析 DevOps 的指標、IoT 應用程式的感應器資料,以及用於設備維護的工業遙測資料,以及許多其他使用案例。Timestream for Live Analytics 中的專用自適應查詢引擎可讓您使用單一 SQL 陳述式跨儲存層存取資料。它可透明地存取和合併跨儲存層的資料,而無需您指定資料位置。您可以使用 SQL 查詢 Timestream for Live Analytics 中的資料,從一或多個資料表擷取時間序列資料。您可以存取資料庫和資料表的中繼資料資訊。即時分析 SQL 的 Timestream 也支援時間序列分析的內建函數。如需其他詳細資訊,請參閱 查詢語言參考參考。

Timestream for Live Analytics 的設計具有完全解耦的資料擷取、儲存和查詢架構,每個元件可以獨立於其他元件進行擴展 (允許它為應用程式的需求提供幾乎無限的擴展)。這表示當您的應用程式每天傳送數百 TB 的資料或執行處理少量或大量資料的數百萬個查詢時,即時分析的 Timestream 不會「提示」。隨著您的資料隨著時間的推移而增長,Timestream for Live Analytics 中的查詢延遲大部分保持不變。這是因為 Timestream for Live Analytics 查詢架構可以利用大量平行處理來處理較大的資料磁碟區,並自動擴展以符合應用程式的查詢輸送量需求。

資料模型

Timestream 支援兩個查詢資料模型:平面模型和時間序列模型。

注意

Timestream 中的資料是使用平面模型存放,它是查詢資料的預設模型。時間序列模型是一種查詢時間概念,用於時間序列分析。

平面模型

平面模型是 Timestream 的預設查詢資料模型。它以表格格式表示時間序列資料。維度名稱、時間、度量名稱和度量值會顯示為資料欄。資料表中的每個資料列都是對應於時間序列內特定時間之測量的原子資料點。時間串流資料庫、資料表和資料欄有一些命名限制。這些會在 中說明服務限制

下表顯示 Timestream 如何存放資料的說明性範例,當資料以單一測量記錄傳送時,代表 EC2 執行個體的 CPU 使用率、記憶體使用率和網路活動。在此情況下,維度為 EC2 執行個體的區域、可用區域、虛擬私有雲端和執行個體 IDs。這些措施是 EC2 執行個體的 CPU 使用率、記憶體使用率和傳入網路資料。資料欄區域、az、vpc 和 instance_id 包含維度值。資料欄時間包含每個記錄的時間戳記。資料欄 measure_name 包含 cpu-utilization、meory_utilization 和 network_bytes_in 表示的量值名稱。資料欄 measure_value::double 包含以倍數發出的測量 (例如 CPU 使用率和記憶體使用率)。欄位 measure_value::bigint 包含以整數發出的測量,例如傳入的網路資料。

時間 region az vpc instance_id measure_name measure_value::double measure_value::bigint

2019-12-04 19:00:00.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

cpu_utilization

35.0

null

2019-12-04 19:00:01.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

cpu_utilization

38.2

null

2019-12-04 19:00:02.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

cpu_utilization

45.3

null

2019-12-04 19:00:00.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

memory_utilization

54.9

null

2019-12-04 19:00:01.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

memory_utilization

42.6

null

2019-12-04 19:00:02.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

memory_utilization

33.3

null

2019-12-04 19:00:00.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

network_bytes

34,400

null

2019-12-04 19:00:01.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

network_bytes

1,500

null

2019-12-04 19:00:02.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

network_bytes

6,000

null

下表顯示 Timestream 如何存放資料的說明性範例,當資料以多測量記錄傳送時,代表 EC2 執行個體的 CPU 使用率、記憶體使用率和網路活動。

時間 region az vpc instance_id measure_name cpu_utilization memory_utilization network_bytes

2019-12-04 19:00:00.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

指標

35.0

54.9

34,400

2019-12-04 19:00:01.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

指標

38.2

42.6

1,500

2019-12-04 19:00:02.000000000

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

指標

45.3

33.3

6,600

時間序列模型

時間序列模型是用於時間序列分析的查詢時間建構。它以 (時間、測量值) 對的順序表示資料。Timestream 支援時間序列函數,例如插補,讓您能夠填補資料中的差距。若要使用這些函數,您必須使用 create_time_series 等函數將資料轉換為時間序列模型。如需詳細資訊查詢語言參考,請參閱。

使用較早的 EC2 執行個體範例,以下是以時脈表示的 CPU 使用率資料。

region az vpc instance_id cpu_utilization

us-east-1

us-east-1d

vpc-1a2b3c4d

i-1234567890abcdef0

{時間:2019-12-04 19:00:00.000000000,值:35},{時間:2019-12-04 19:00:01.000000000,值:38.2},{時間:2019-12-04 19:00:02.000000000,值:45.3}】