쿼리 처리 용량 관리
용량 예약을 사용하여 Athena에서 실행하는 쿼리에 대한 전용 서버리스 처리 용량을 확보할 수 있습니다. 용량 예약을 통해 가장 중요한 워크로드의 우선순위를 지정하고 해당 워크로드를 제어 및 조정할 수 있는 워크로드 관리 기능을 이용할 수 있습니다. 예를 들어 용량을 추가하여 동시에 실행할 수 있는 쿼리 수를 늘리고 용량을 사용할 수 있는 워크로드를 제어하며 워크로드 사이에서 용량을 공유할 수 있습니다. 용량은 서버리스이고 Athena에서 완전하게 관리되며 필요한 시간 동안 보관됩니다. 설정이 쉽고 SQL 문을 변경할 필요가 없습니다.
쿼리의 처리 용량을 확보하려면 용량 예약을 생성하고 필요한 데이터 처리 장치(DPU) 수를 지정하며 예약에 하나 이상의 작업 그룹을 할당합니다.
용량 예약을 사용할 때 작업 그룹은 중요한 역할을 합니다. 작업 그룹을 사용하면 쿼리를 논리적 그룹이나 사용 사례로 구성할 수 있습니다. 용량 예약을 사용하면 작업 그룹에 용량을 선택적으로 할당하여 각 작업 그룹에 대한 쿼리의 작동 방식과 청구 방식을 제어할 수 있습니다. 작업 그룹에 대한 자세한 내용은 작업 그룹을 사용하여 쿼리 액세스 및 비용 제어 섹션을 참조하세요.
용량 예약에 작업 그룹을 할당하면 이러한 쿼리에 우선순위를 부여할 수 있습니다. 예약 용량에서 실행되고 DDL 및 DML 쿼리 할당량에 포함되지 않기 때문입니다. 예를 들어 시간이 중요한 금융 보고 쿼리에 사용되는 작업 그룹에 용량을 할당하여 해당 쿼리를 다른 작업 그룹의 덜 중요한 쿼리와 분리할 수 있습니다. 이렇게 하면 중요한 워크로드에서 예측 가능한 방식으로 쿼리를 실행하면서 다른 워크로드를 독립적으로 실행할 수 있습니다.
용량 예약과 작업 그룹을 함께 사용하여 다양한 요구 사항을 충족할 수 있습니다. 다음은 몇 가지 예제 시나리오입니다.
-
중요한 쿼리 격리 - 중요한 워크로드가 필요할 시점에 필요한 용량을 확보하게 하기 위해 용량 예약을 생성하고 해당 작업 그룹을 예약에 할당합니다. 지정된 작업 그룹의 쿼리만 예약의 처리 용량을 사용합니다. 예를 들어 프로덕션 애플리케이션을 지원하는 쿼리를 신뢰할 수 있는 방식으로 실행하려면 해당 쿼리에 대한 프로덕션 작업 그룹을 용량 예약에 할당합니다. 쿼리를 개발할 때 예약에 연결되지 않은 별도의 작업 그룹을 사용하고 준비가 되면 쿼리를 프로덕션으로 이전합니다.
-
유사한 워크로드에서 용량 공유 - 여러 워크로드가 하나의 예약에서 용량을 공유할 수 있습니다. 이를 통해 이러한 워크로드에 대해 예측 가능한 비용을 얻고 워크로드의 동시성을 제어할 수 있습니다. 예를 들어 지연된 쿼리 실행 시작 시간을 허용하는 예약된 워크로드가 있는 경우 단일 예약에 작업 그룹을 할당할 수 있습니다. 그러면 동일한 계정에서 실행되는 대화형 쿼리에 대한 DDL 및 DML 쿼리 할당량을 확보하여 지연 시간을 최소화하면서 이러한 쿼리가 시작됩니다.
DPU 이해
용량은 데이터 처리 장치(DPU)로 측정됩니다. DPU는 Athena에서 사용자를 대신해 데이터에 액세스하고 데이터를 처리하는 데 사용하는 서버리스 컴퓨팅 및 메모리 리소스를 나타냅니다. 보통 1개의 DPU는 4개의 vCPU와 16GB의 메모리를 제공합니다. 보유하는 DPU 수는 동시에 실행할 수 있는 쿼리 수에 영향을 줍니다. 예를 들어 256개의 DPU를 포함하는 예약은 128개의 DPU를 포함하는 예약보다 약 두 배 더 많은 동시 쿼리 수를 지원할 수 있습니다.
용량 요구 사항 추정에 대한 자세한 내용은 용량 요구 사항 결정 섹션을 참조하세요. 요금 정보는 Amazon Athena 요금
고려 사항 및 제한 사항
-
동일한 계정에서 동시에 스캔한 데이터를 기반으로 용량 예약 및 쿼리별 청구를 사용할 수 있습니다.
-
용량 예약에서 실행되는 쿼리는 DDL 및 DML 쿼리 할당량에 포함되지 않습니다.
-
다른 쿼리를 처리하는 데 용량이 사용 중인 경우 새로 제출된 쿼리는 용량을 사용할 수 있을 때까지 대기열에 추가됩니다. 대기열에서 허용되는 최대 시간은 10시간입니다.
-
작업 그룹은 한 번에 하나의 용량 예약에 할당할 수 있습니다. 단일 예약에 총 20개의 작업 그룹을 할당할 수 있습니다. 예약에 여러 작업 그룹을 할당하면 여러 작업 그룹에서 용량이 공유되고 제출 순서에 따라 쿼리에 할당됩니다. Athena가 쿼리에 용량을 동적으로 할당하는 방식 때문에 실행 순서는 달라질 수 있습니다.
-
Athena는 복잡성에 따라 DML 쿼리에 4~124개의 DPU를 자동으로 할당합니다. DDL 쿼리는 각각 4개의 DPU를 소비합니다. 자세한 내용은 다음 주제를 참조하세요.
-
각 용량 예약에 필요한 최소 DPU 수는 4개입니다. 요금 정보는 Amazon Athena 요금
을 참조하세요. -
계정 및 리전당 최대 1,000개의 DPU를 포함하는 최대 100개의 용량 예약을 생성할 수 있습니다. 사용 사례에 1,000개가 넘는 DPU가 필요한 경우 athena-feedback@amazon.com
으로 문의하세요. -
용량에 대한 요청은 보장되지 않으며, 완료하는 데 최대 30분이 소요될 수 있습니다. 용량은 다른 용량 예약(AWS 계정 또는 AWS 리전)으로 이전할 수 없습니다.
-
DPUConsumedCloudWatch 지표는 예약 단위가 아닌 작업 그룹 단위입니다. 따라서 작업 그룹을 한 예약에서 다른 예약으로 이동하면 해당 작업 그룹이 첫 번째 예약에 속했던 시점의 데이터가DPUConsumed지표에 포함됩니다. Athena에서 CloudWatch 지표를 사용하는 방법에 대한 자세한 내용은 CloudWatch를 사용하여 Athena 쿼리 지표 모니터링 섹션을 참조하세요. -
예약에 할당된 작업 그룹을 삭제하려면 먼저 예약에서 작업 그룹을 제거합니다.
-
Apache Spark를 사용하도록 구성된 작업 그룹은 지원되지 않습니다.
-
다음 상용 AWS 리전에서는 용량 예약을 사용할 수 없습니다.
-
이스라엘(텔아비브)
-
중동(UAE)
-
중동(바레인)
-
아시아 태평양(뉴질랜드)
-