Amazon Timestream for LiveAnalytics와 유사한 기능을 원하는 경우 Amazon Timestream for InfluxDB를 고려해 보세요. 간소화된 데이터 수집과 실시간 분석을 위한 10밀리초 미만의 쿼리 응답 시간을 제공합니다. 여기에서 자세히 알아보세요.
기본 테이블의 쿼리와 예약된 쿼리 결과의 쿼리 비교
이 Timestream 쿼리 예제에서는 다음 스키마, 예제 쿼리 및 출력을 사용하여 기본 테이블의 쿼리를 예약된 쿼리 결과의 파생 테이블의 쿼리와 비교합니다. 잘 계획된 예약 쿼리를 사용하면 원래 기본 테이블에서 가능한 것보다 더 빠른 쿼리로 이어질 수 있는 행 및 기타 특성이 적은 파생 테이블을 가져올 수 있습니다.
이 시나리오를 설명하는 동영상은 Amazon Timestream for LiveAnalytics의 쿼리 성능 개선 및 예약된 쿼리를 사용하여 비용 절감
이 예에서는 다음 시나리오를 사용합니다.
-
리전 - us-east-1
-
기본 테이블 -
"clickstream"."shopping" -
파생 테이블 -
"clickstream"."aggregate"
기본 테이블
다음 표에는 기본 테이블의 스키마에 대한 설명이 나와 있습니다.
| 열 | 유형 | Timestream for LiveAnalytics 속성 유형 |
|---|---|---|
|
채널 |
varchar |
MULTI |
|
설명 |
varchar |
MULTI |
|
이벤트 |
varchar |
DIMENSION |
|
ip_address |
varchar |
DIMENSION |
|
measure_name |
varchar |
MEASURE_NAME |
|
product |
varchar |
MULTI |
|
product_id |
varchar |
MULTI |
|
quantity |
double |
MULTI |
|
쿼리 |
varchar |
MULTI |
|
session_id |
varchar |
DIMENSION |
|
user_group |
varchar |
DIMENSION |
|
user_id |
varchar |
DIMENSION |
다음 표에는 기본 테이블의 측정에 대한 설명이 나와 있습니다. 기본 테이블은 예약된 쿼리가 실행되는 Timestream의 테이블을 나타냅니다.
-
measure_name -
metrics -
데이터 - 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.89MB |
235바이트 |
|
행 수 |
5 |
5 |