ベーステーブルのクエリとスケジュールされたクエリの結果のクエリを比較する - Amazon Timestream

Amazon Timestream for LiveAnalytics に類似した機能をご希望の場合は Amazon Timestream for InfluxDB をご検討ください。リアルタイム分析に適した、シンプルなデータインジェストと 1 桁ミリ秒のクエリ応答時間を特徴としています。詳細については、こちらを参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ベーステーブルのクエリとスケジュールされたクエリの結果のクエリを比較する

この Timestream クエリの例では、下記のスキーマ、クエリの例、出力を使用して、ベーステーブルのクエリと、スケジュールされたクエリ結果の派生テーブルのクエリを比較します。スケジュールされたクエリを適切に計画することで、行数の削減などにより、元のベーステーブルよりもクエリを高速化できる可能性がある派生テーブルを使用できます。

このシナリオを説明する動画「Improve query performance and reduce cost using scheduled queries in Amazon Timestream for LiveAnalytics」をご覧ください。

この例では、以下のシナリオを使用します。

  • リージョン – us-east-1

  • ベーステーブル"clickstream"."shopping"

  • 派生テーブル"clickstream"."aggregate"

ベーステーブル

下の表はベーステーブルのスキーマを示しています。

Timestream for LiveAnalytics の属性タイプ

channel

varchar

MULTI

description

varchar

MULTI

event

varchar

DIMENSION

ip_address

varchar

DIMENSION

measure_name

varchar

MEASURE_NAME

product

varchar

MULTI

product_id

varchar

MULTI

quantity

double

MULTI

query

varchar

MULTI

session_id

varchar

DIMENSION

user_group

varchar

DIMENSION

user_id

varchar

DIMENSION

以下は、ベーステーブルのメジャーを示しています。ベーステーブルとは、スケジュールされたクエリが実行される Timestream のテーブルを指します。

  • measure_namemetrics

  • data – multi

  • ディメンション

    [ ( 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.89 MB

235 バイト

行数

5

5