Amazon Timestream for LiveAnalytics와 유사한 기능을 원하는 경우 Amazon Timestream for InfluxDB를 고려해 보세요. 간소화된 데이터 수집과 실시간 분석을 위한 10밀리초 미만의 쿼리 응답 시간을 제공합니다. 여기에서 자세히 알아보세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
쿼리
다음은 Amazon Timestream for LiveAnalytics를 사용한 쿼리에 대한 권장 모범 사례입니다.
-
쿼리에 필수적인 측정 이름과 차원 이름만 포함합니다. 불필요한 열을 추가하면 데이터 스캔 횟수가 증가하여 쿼리 성능에 영향이 있습니다.
-
쿼리를 프로덕션에 배포하기 전에 공간적 및 시간적 정리가 최적화되었는지 확인하기 위해 쿼리 인사이트를 검토할 것을 권장합니다. 자세한 내용은 쿼리 인사이트를 사용하여 Amazon Timestream에서 쿼리 최적화 섹션을 참조하세요.
-
가능한 경우 쿼리 성능 개선과 비용 절감을 위해 SELECT 절과 WHERE 절에 내장된 집계 함수와 스칼라 함수를 사용하여 Timestream for LiveAnalytics로 데이터 계산을 푸시합니다. SELECT 및 집계 함수 섹션을 참조하세요.
-
가능하면 대략적인 함수를 사용합니다. 예를 들어, 쿼리 성능을 최적화하고 쿼리 비용을 절감하려면 COUNT(DISTINCT column_name) 대신 APPROX_DISTINCT를 사용합니다. 집계 함수을(를) 참조하세요.
-
동일한 테이블에서 반복적으로 선택하지 말고 CASE 표현식을 사용하여 복합적인 집계를 실행하세요. CASE 문을(를) 참조하세요.
-
가능하면 쿼리의 WHERE 절에 시간 범위를 포함합니다. 이렇게 하면 쿼리 성능과 비용이 최적화됩니다. 예를 들어, 데이터세트에 지난 1시간 분량의 데이터만 필요한 경우 time > ago(1h)와 같은 시간 조건자를 포함합니다. SELECT 및 간격 및 기간 섹션을 참조하세요.
-
쿼리가 테이블의 측정 하위 집합에 액세스할 때는 항상 쿼리의 WHERE 절에 측정 이름을 포함합니다.
-
가능하면 쿼리의 WHERE 절에서 차원과 측정을 비교할 때 같음 연산자를 사용합니다. 차원 이름과 측정 이름에 대한 같음 조건자를 사용하면 쿼리 성능이 향상되고 쿼리 비용이 절감됩니다.
-
가능하면 비용 최적화를 위해 WHERE 절에서 함수를 사용하지 않습니다.
-
LIKE 절을 여러 번 사용하지 않습니다. 문자열 열에서 여러 값을 필터링할 때는 정규 표현식을 사용합니다. 정규식 함수을(를) 참조하세요.
-
쿼리의 GROUP BY 절에 필요한 열만 사용합니다.
-
쿼리 결과가 특정 순서로 정렬되어야 하는 경우 가장 바깥쪽 쿼리의 ORDER BY 절에 해당 순서를 명시적으로 지정합니다. 쿼리 결과에 정렬이 필요하지 않은 경우 쿼리 성능 향상을 위해 ORDER BY 절을 사용하지 않습니다.
-
쿼리에서 처음 N개 행만 필요한 경우 LIMIT 절을 사용합니다.
-
상위 또는 하위 N개 값을 보기 위해 ORDER BY 절을 사용하는 경우 쿼리 비용을 줄이려면 LIMIT 절을 사용합니다.
-
반환된 응답의 페이지 매김 토큰을 사용하여 쿼리 결과를 검색합니다. 자세한 내용은 쿼리를 참조하세요.
-
쿼리 실행을 시작했는데 원하는 결과가 나오지 않을 것 같으면 비용 절감을 위해 쿼리를 취소합니다. 자세한 내용은 CancelQuery를 참조하세요.
-
애플리케이션에서 스로틀링이 발생하는 경우 Amazon Timestream for LiveAnalytics가 애플리케이션의 쿼리 처리량 요구 사항을 충족하도록 자동으로 규모를 조정할 수 있게 동일한 속도로 Amazon Timestream for LiveAnalytics에 데이터를 계속 전송합니다.
-
애플리케이션의 쿼리 동시 실행 요구 사항이 Timestream for LiveAnalytics의 기본 제한을 초과하는 경우 제한 증가를 위해 지원에 문의하세요.