쿼리 처리 용량 관리 - Amazon Athena

쿼리 처리 용량 관리

용량 예약을 사용하여 Athena에서 실행하는 쿼리에 대한 전용 처리 용량을 확보할 수 있습니다. 용량 예약을 통해 가장 중요한 대화형 워크로드의 우선순위를 지정하고 해당 워크로드를 제어 및 확장할 수 있는 워크로드 관리 기능을 이용할 수 있습니다. 예를 들어 언제든지 용량을 추가하여 동시에 실행할 수 있는 쿼리 수를 늘리고 용량을 사용할 수 있는 워크로드를 제어하며 워크로드 사이에서 용량을 공유할 수 있습니다. 용량은 Athena에서 완전하게 관리하며 필요한 시간 동안 보관됩니다. 설정이 쉽고 SQL 문을 변경할 필요도 없습니다.

쿼리의 처리 용량을 확보하려면 용량 예약을 생성하고 필요한 데이터 처리 장치(DPU) 수를 지정하며 예약에 하나 이상의 작업 그룹을 할당합니다.

용량 예약을 사용할 때 작업 그룹은 중요한 역할을 합니다. 작업 그룹을 사용하면 쿼리를 논리적으로 그룹화할 수 있습니다. 용량 예약을 사용하면 작업 그룹에 용량을 선택적으로 할당하여 각 작업 그룹에 대한 쿼리의 작동 방식과 청구 방식을 제어할 수 있습니다. 작업 그룹에 대한 자세한 내용은 작업 그룹을 사용하여 쿼리 액세스 및 비용 제어 섹션을 참조하세요.

예약에 작업 그룹을 할당하면 할당된 작업 그룹에 제출하는 쿼리에 우선순위를 부여할 수 있습니다. 예를 들어 시간이 중요한 금융 보고 쿼리에 사용되는 작업 그룹에 용량을 할당하여 해당 쿼리를 다른 작업 그룹의 덜 중요한 쿼리와 분리할 수 있습니다. 이렇게 하면 다른 워크로드를 독립적으로 실행하는 동시에 중요한 워크로드에서 일관된 쿼리 실행이 가능합니다.

용량 예약과 작업 그룹을 함께 사용하여 다양한 요구 사항을 충족할 수 있습니다. 다음은 몇 가지 예제 시나리오입니다.

  • 격리 - 중요한 워크로드를 격리하기 위해 하나의 예약에 단일 작업 그룹을 할당합니다. 지정된 작업 그룹의 쿼리만 선택한 예약의 처리 용량을 사용합니다.

  • 공유 - 여러 워크로드에서 한 예약의 용량을 공유할 수 있습니다. 예를 들어 특정 워크로드 세트의 월별 비용을 예측하려는 경우 단일 예약에 여러 작업 그룹을 할당할 수 있습니다. 할당된 작업 그룹에서 예약 용량을 공유합니다.

  • 혼합 모델 - 동일한 계정에서 동시에 용량 예약 및 쿼리별 청구를 사용할 수 있습니다. 예를 들어 프로덕션 애플리케이션을 지원하는 쿼리를 안정적으로 실행하려면 해당 쿼리에 대한 작업 그룹을 용량 예약에 할당합니다. 프로덕션 작업 그룹으로 이동하기 전에 쿼리를 개발할 때 예약과 연결되지 않아 쿼리별 청구를 사용하는 별도의 작업 그룹을 사용합니다.

DPU 이해

용량은 데이터 처리 장치(DPU)로 측정됩니다. DPU는 Athena에서 사용자를 대신해 데이터에 액세스하고 데이터를 처리하는 데 사용하는 컴퓨팅 및 메모리 리소스를 나타냅니다. 1개의 DPU는 4개의 vCPU와 16GB의 메모리를 제공합니다. 지정하는 DPU 수는 동시에 실행할 수 있는 쿼리 수에 영향을 줍니다. 예를 들어 256개의 DPU를 포함하는 예약은 128개의 DPU를 포함하는 예약보다 약 두 배 더 많은 동시 쿼리 수를 지원할 수 있습니다.

계정 및 리전당 최대 1,000개의 DPU를 포함하는 최대 100개의 용량 예약을 생성할 수 있습니다. 요청할 수 있는 최소 DPU 수는 24개입니다. 사용 사례에 1,000개가 넘는 DPU가 필요한 경우 athena-feedback@amazon.com으로 문의하세요.

용량 요구 사항 추정에 대한 자세한 내용은 용량 요구 사항 결정 섹션을 참조하세요. 요금 정보는 Amazon Athena 요금을 참조하세요.

고려 사항 및 제한

  • 이 기능을 사용하려면 Athena 엔진 버전 3이 필요합니다.

  • 한 번에 최대 하나의 예약에 단일 작업 그룹을 할당할 수 있으며, 예약에 최대 20개의 작업 그룹을 추가할 수 있습니다.

  • Spark 지원 작업 그룹은 용량 예약에 추가할 수 없습니다.

  • 예약에 할당된 작업 그룹을 삭제하려면 먼저 예약에서 작업 그룹을 제거합니다.

  • 프로비저닝할 수 있는 최소 DPU 수는 24개입니다.

  • 계정 및 리전당 최대 1,000개의 DPU를 포함하는 최대 100개의 용량 예약을 생성할 수 있습니다.

  • 용량에 대한 요청은 보장되지 않으며, 완료하는 데 최대 30분이 소요될 수 있습니다.

  • 최소 청구 기간은 예약당 1시간입니다. 1시간 후에는 분당 용량이 청구됩니다. 요금 정보는 Amazon Athena 요금을 참조하세요.

  • 예약 용량은 다른 용량 예약(AWS 계정 또는 AWS 리전)으로 이전할 수 없습니다.

  • 용량 예약에서 DDL 쿼리는 DPU를 소비합니다.

  • 프로비저닝된 용량에서 실행되는 쿼리는 DDL 및 DML에 대한 활성 쿼리 한도에 포함되지 않습니다.

  • 모든 DPU가 사용 중인 경우 제출된 쿼리는 대기열에 보관됩니다. 이러한 쿼리는 거부되지 않지만, 온디맨드 용량으로 전환되지 않습니다.

  • DPUConsumed CloudWatch 지표는 예약 단위가 아닌 작업 그룹 단위입니다. 따라서 작업 그룹을 한 예약에서 다른 예약으로 이동하면 해당 작업 그룹이 첫 번째 예약에 속했던 시점의 데이터가 DPUConsumed 지표에 포함됩니다. Athena에서 CloudWatch 지표를 사용하는 방법에 대한 자세한 내용은 CloudWatch 지표를 사용한 Athena 쿼리 모니터링 섹션을 참조하세요.

  • 현재 이 기능은 다음 AWS 리전에서 사용할 수 있습니다.

    • 미국 동부(버지니아 북부)

    • 미국 동부(오하이오)

    • 미국 서부(오레곤)

    • 아시아 태평양(싱가포르)

    • 아시아 태평양(시드니)

    • 아시아 태평양(도쿄)

    • 유럽(아일랜드)

    • 유럽(스페인)

    • 유럽(스톡홀름)

    • 남아메리카(상파울루)