

Amazon Timestream for LiveAnalytics와 유사한 기능을 원하는 경우 Amazon Timestream for InfluxDB를 고려해 보세요. 간소화된 데이터 수집과 실시간 분석을 위한 10밀리초 미만의 쿼리 응답 시간을 제공합니다. [여기](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)에서 자세히 알아보세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 기본 테이블의 쿼리와 예약된 쿼리 결과의 쿼리 비교
<a name="scheduledqueries-example4-clickstream"></a>

이 Timestream 쿼리 예제에서는 다음 스키마, 예제 쿼리 및 출력을 사용하여 기본 테이블의 쿼리를 예약된 쿼리 결과의 파생 테이블의 쿼리와 비교합니다. 잘 계획된 예약 쿼리를 사용하면 원래 기본 테이블에서 가능한 것보다 더 빠른 쿼리로 이어질 수 있는 행 및 기타 특성이 적은 파생 테이블을 가져올 수 있습니다.

이 시나리오를 설명하는 동영상은 [Amazon Timestream for LiveAnalytics의 쿼리 성능 개선 및 예약된 쿼리를 사용하여 비용 절감](https://youtu.be/x8AgLhAydzY)을 참조하세요.

이 예에서는 다음 시나리오를 사용합니다.
+ **리전** - us-east-1
+ **기본 테이블** - `"clickstream"."shopping"`
+ **파생 테이블** - `"clickstream"."aggregate"`

## 기본 테이블
<a name="scheduledqueries-example4-clickstream-base-table"></a>

다음 표에는 기본 테이블의 스키마에 대한 설명이 나와 있습니다.


| 열 | Type | Timestream for LiveAnalytics 속성 유형 | 
| --- | --- | --- | 
|  채널  |  varchar  |  MULTI  | 
|  description  |  varchar  |  MULTI  | 
|  이벤트  |  varchar  |  DIMENSION  | 
|  ip\$1address  |  varchar  |  DIMENSION  | 
|  measure\$1name  |  varchar  |  MEASURE\$1NAME  | 
|  product  |  varchar  |  MULTI  | 
|  product\$1id  |  varchar  |  MULTI  | 
|  quantity  |  double  |  MULTI  | 
|  쿼리  |  varchar  |  MULTI  | 
|  session\$1id  |  varchar  |  DIMENSION  | 
|  user\$1group  |  varchar  |  DIMENSION  | 
|  user\$1id  |  varchar  |  DIMENSION  | 

다음 표에는 기본 테이블의 측정에 대한 설명이 나와 있습니다. *기본 테이블*은 예약된 쿼리가 실행되는 Timestream의 테이블을 나타냅니다.
+ **measure\$1name** - `metrics`
+ **데이터** - multi
+ **차원**:

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

## 기본 테이블에 대한 쿼리
<a name="scheduledqueries-example4-clickstream-base-table-query"></a>

다음은 지정된 시간 범위에서 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
```

## 예약된 쿼리
<a name="scheduledqueries-example4-clickstream-scheduled-query"></a>

다음은 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
```

## 파생 테이블에 대한 쿼리
<a name="scheduledqueries-example4-clickstream-derived-table"></a>

다음은 파생 테이블의 임시 쿼리입니다. *파생 테이블*은 예약된 쿼리의 결과가 포함된 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
```

## 비교
<a name="scheduledqueries-example4-clickstream-comparison"></a>

다음은 기본 테이블의 쿼리 결과를 파생 테이블의 쿼리와 비교한 것입니다. 예약된 쿼리를 통해 결과를 집계한 파생 테이블에서 동일한 쿼리가 더 적은 스캔 바이트로 더 빠르게 완료됩니다.

이러한 결과는 더 빠른 쿼리를 위해 예약된 쿼리를 사용하여 데이터를 집계하는 값을 보여줍니다.


|  | 기본 테이블에 대한 쿼리 | 파생 테이블에 대한 쿼리 | 
| --- | --- | --- | 
|  지속 시간  |  1.745초  |  0.2960초  | 
|  스캔된 바이트  |  29.89MB  |  235바이트  | 
|  행 수  |  5  |  5  | 