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_name –
metrics -
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 |