将基表上的查询与计划查询结果的查询进行比较 - Amazon Timestream
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

有关与适用于 LiveAnalytics 的 Amazon Timestream 类似的功能,可以考虑使用适用于 InfluxDB 的 Amazon Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间,以实现实时分析。点击此处了解更多信息。

将基表上的查询与计划查询结果的查询进行比较

在此 Timestream 查询示例中,我们使用以下架构、示例查询和输出,对比基表查询与基于计划查询结果的衍生表查询。通过精心策划的计划查询,您可以获得行数更少且具备其他特征的派生表,从而实现比直接查询原始基表更快的查询速度。

有关此场景的视频说明,请参阅使用适用于 LiveAnalytics 的 Amazon Timestream 中的计划查询提升查询性能并降低成本

对于本示例,您可以使用以下场景:

  • 区域:us-east-1

  • 基表"clickstream"."shopping"

  • 派生表"clickstream"."aggregate"

基表

以下描述基表的架构。

类型 适用于 LiveAnalytics 的 Timestream 属性类型

渠道

varchar

MULTI

description

varchar

MULTI

事件

varchar

维度

ip_address

varchar

维度

measure_name

varchar

MEASURE_NAME

产品

varchar

MULTI

product_id

varchar

MULTI

quantity

double

MULTI

查询

varchar

MULTI

session_id

varchar

维度

user_group

varchar

维度

user_id

varchar

维度

以下描述基表的度量。基表是指在 Timestream 中运行计划查询的表。

  • measure_namemetrics

  • 数据:多

  • 维度

    [ ( user_group, varchar ),( user_id, varchar ),( session_id, varchar ),( ip_address, varchar ),( event, varchar ) ]

对基表进行查询

以下是临时查询,用于在给定时间范围内按 5 分钟聚合时间收集计数。

SELECT BIN(time, 5m) as time, channel, product_id, SUM(quantity) as product_quantity FROM "clickstream"."shopping" WHERE BIN(time, 5m) BETWEEN '2023-05-11 10:10:00.000000000' AND '2023-05-11 10:30:00.000000000' AND channel = 'Social media' and product_id = '431412' GROUP BY BIN(time, 5m),channel,product_id

输出:

duration:1.745 sec
Bytes scanned: 29.89 MB
Query Id: AEBQEANMHG7MHHBHCKJ3BSOE3QUGIDBGWCCP5I6J6YUW5CVJZ2M3JCJ27QRMM7A
Row count:5

计划查询

以下是每 5 分钟运行一次的计划查询。

SELECT BIN(time, 5m) as time, channel as measure_name, product_id, product, SUM(quantity) as product_quantity FROM "clickstream"."shopping" WHERE time BETWEEN BIN(@scheduled_runtime, 5m) - 10m AND BIN(@scheduled_runtime, 5m) - 5m AND channel = 'Social media' GROUP BY BIN(time, 5m), channel, product_id, product

对派生表进行查询

以下是对派生表的临时查询。派生表是指包含计划查询结果的 Timestream 表。

SELECT time, measure_name, product_id,product_quantity FROM "clickstream"."aggregate" WHERE time BETWEEN '2023-05-11 10:10:00.000000000' AND '2023-05-11 10:30:00.000000000' AND measure_name = 'Social media' and product_id = '431412'

输出:

duration: 0.2960 sec
Bytes scanned: 235.00 B
QueryID: AEBQEANMHHAAQU4FFTT6CFM6UYXTL4SMLZV22MFP4KV2Z7IRVOPLOMLDD6BR33Q
Row count: 5

比较

以下是对基表查询结果与派生表查询结果的比较。对通过计划查询完成聚合结果的派生表执行相同查询时,其完成速度更快且扫描字节数更少。

这些结果表明,使用计划查询聚合数据以加快查询速度具有重要价值。

对基表进行查询 对派生表进行查询

持续时间

1.745 秒

0.2960 秒

扫描的字节数

29.89MB

235 字节

行数

5

5