기본 테이블의 쿼리와 예약된 쿼리 결과의 쿼리 비교 - Amazon Timestream

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