

要获得与亚马逊 Timestream 类似的功能 LiveAnalytics，可以考虑适用于 InfluxDB 的亚马逊 Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间，以实现实时分析。点击[此处](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)了解更多信息。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 查询
<a name="queries"></a>

借助 Timestream for Live Analytics DevOps，您可以轻松存储和分析物联网应用的传感器数据、用于设备维护的工业遥测数据以及许多其他用例的指标。适用于 LiveAnalytics 的 Timestream 中专门构建的自适应查询引擎，支持使用单个 SQL 语句跨存储层访问数据。该引擎可透明地跨存储层访问和整合数据，无需您指定数据位置。您可以使用 SQL 在适用于 LiveAnalytics 的 Timestream 中查询数据，以便从一个或多个表中检索时间序列数据。您可以访问数据库和表的元数据信息。适用于 LiveAnalytics 的 Timestream SQL 还支持用于时间序列分析的内置函数。有关更多详细信息，可参阅 [查询语言参考](reference.md) 参考。

适用于 LiveAnalytics 的 Timestream 旨在实现完全解耦的数据摄取、存储和查询架构，其中每个组件均可独立于其他组件进行扩展（使其能够为应用程序需求提供几乎无限的扩展能力）。这意味着，当应用程序每天发送数百 TB 的数据，或运行数百万次查询处理大小不等的数据时，适用于 LiveAnalytics 的 Timestream 不会“崩溃”。随着数据随时间的推移而增长，适用于 LiveAnalytics 的 Timestream 的查询延迟基本保持不变。这是因为适用于 LiveAnalytics 的 Timestream 查询架构可利用大量的并行性以处理更庞大的数据量，并自动扩展以满足应用程序的查询吞吐量需求。

## 数据模型
<a name="datamodel"></a>

 Timestream 支持两种用于查询的数据模型：平面模型和时间序列模型。

**注意**  
Timestream 中的数据使用平面模型进行存储，这是查询数据的默认模型。时间序列模型是一种查询时间概念，用于时间序列分析。
+  [平面模型](#flatmodel) 
+  [时间序列模型](#timeseriesmodel) 

### 平面模型
<a name="flatmodel"></a>

 平面模型是 Timestream 用于查询的默认数据模型。该模型以表列格式表示时间序列数据。维度名称、时间、度量名称及度量值以列的形式呈现。表中的每一行都是一个原子数据点，对应时间序列中特定时间的测量值。Timestream 数据库、表和列都存在一些命名限制。这些内容在 [服务限制](ts-limits.md#system-limits) 中有所描述。

 下表显示一个示例，说明当数据作为单度量记录发送时，Timestream 如何存储 EC2 实例的 CPU 利用率、内存利用率和网络活动数据。在本例中，维度包括区域、可用区、虚拟私有云以及 EC2 实例的实例 ID。度量包括 EC2 实例的 CPU 利用率、内存利用率以及传入的网络数据。region、az、vpc 和 instance\$1id 列均包含维度值。time 列包含每条记录的时间戳。measure\$1name 列包含由 cpu-utilization、memory\$1utilization 和 network\$1bytes\$1in 表示的度量名称。measure\$1value::double 列包含以双精度形式输出的测量值（例如 CPU 利用率和内存利用率）。measure\$1value::bigint 列包含以整数形式输出的测量值，例如传入的网络数据。


| 时间 | region | az | vpc | instance\$1id | measure\$1name | measure\$1value::double | measure\$1value::bigint | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
|  2019-12-04 19:00:00.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   cpu\$1utilization   |   35.0   |   null   | 
|  2019-12-04 19:00:01.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   cpu\$1utilization   |   38.2   |   null   | 
|  2019-12-04 19:00:02.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   cpu\$1utilization   |   45.3   |   null   | 
|  2019-12-04 19:00:00.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   memory\$1utilization   |   54.9   |   null   | 
|  2019-12-04 19:00:01.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   memory\$1utilization   |   42.6   |   null   | 
|  2019-12-04 19:00:02.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   memory\$1utilization   |   33.3   |   null   | 
|  2019-12-04 19:00:00.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   network\$1bytes   |   34,400   |   null   | 
|  2019-12-04 19:00:01.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   network\$1bytes   |   1500   |   null   | 
|  2019-12-04 19:00:02.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   network\$1bytes   |   6000   |   null   | 

下表显示一个示例，说明当数据作为多度量记录发送时，Timestream 如何存储 EC2 实例的 CPU 利用率、内存利用率和网络活动数据。


| 时间 | region | az | vpc | instance\$1id | measure\$1name | cpu\$1utilization | memory\$1utilization | network\$1bytes | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  2019-12-04 19:00:00.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   metrics   |   35.0   |   54.9   |   34,400   | 
|  2019-12-04 19:00:01.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   metrics   |   38.2   |   42.6   |   1500   | 
|  2019-12-04 19:00:02.000000000  |   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   metrics   |   45.3   |   33.3   |   6,600   | 

### 时间序列模型
<a name="timeseriesmodel"></a>

 时间序列模型是一种用于时间序列分析的查询时间构造。该模型将数据表示为有序的（时间、度量值）对序列。Timestream 支持插值等时间序列函数，以便填补数据中的缺失部分。要使用这些函数，必须使用 create\$1time\$1series 等函数将数据转换为时间序列模型。有关更多详细信息，请参阅[查询语言参考](reference.md)。

 以先前的 EC2 实例为例，以下是以时间序列形式呈现的 CPU 利用率数据。


| region | az | vpc | instance\$1id | cpu\$1utilization | 
| --- | --- | --- | --- | --- | 
|   us-east-1   |   us-east-1d   |   vpc-1a2b3c4d   |   i-1234567890abcdef0   |   [\$1time: 2019-12-04 19:00:00.000000000, value: 35\$1, \$1time: 2019-12-04 19:00:01.000000000, value: 38.2\$1, \$1time: 2019-12-04 19:00:02.000000000, value: 45.3\$1]   | 