Amazon Redshift 클러스터에서 쿼리 대기열을 생성하고 우선순위를 지정하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 10월 29일

Amazon Redshift에서 특정 쿼리 대기열을 생성하고 우선 순위를 지정하려고 합니다. 어떻게 해야 합니까?

간략한 설명

Amazon Redshift에서는 ETL(추출 변환 로드) 쿼리를 생성한 다음 우선 순위에 따라 다른 대기열로 구분할 수 있습니다. 사용자 그룹, 쿼리 그룹쿼리 할당 규칙에 따라 쿼리의 우선 순위를 지정할 수 있습니다.

쿼리의 우선 순위를 정하려면 Amazon Redshift WLM(워크로드 관리)을 사용하십시오. Amazon Redshift는 다음과 같은 WLM 구성을 지원합니다.

  • 자동 WLM: 자동 WLM을 활성화하면 Amazon Redshift에서 쿼리 동시성 및 메모리 할당을 관리합니다. Amazon Redshift는 쿼리에 필요한 리소스의 양을 결정하고 그에 따라 양을 조정합니다. 수동 WLM과 달리 자동 WLM을 사용하면 쿼리 우선 순위 값을 설정하여 워크로드의 상대적 우선 순위를 나타낼 수 있습니다. 자동 및 수동 WLM의 경우 별도의 쿼리 대기열을 만들 수 있습니다.
  • 수동 WLM: 수동 WLM은 Amazon Redshift에서 여러 WLM 대기열을 관리하는 데 사용됩니다. 수동 WLM을 사용하는 경우 WLM 쿼리 동시성 슬롯 및 메모리 할당 속성에 대한 값을 지정해야 합니다. 자동 및 수동 WLM의 경우 별도의 쿼리 대기열을 만들 수 있습니다. 수동 WLM의 경우 기본 동시성 값은 5개의 쿼리이며 메모리 할당은 균등하게 나뉩니다. 자체 워크로드를 관리하거나 수동으로 쿼리에 리소스를 할당하려는 경우 수동 WLM을 사용합니다.

쿼리의 우선 순위를 정하려면 사용 사례에 가장 적합한 WLM 구성을 선택하십시오.

해결 방법

자동 WLM

자동 WLM을 활성화하면 Amazon Redshift에서 각 쿼리에 리소스가 할당되는 방식을 자동으로 결정합니다. 동시성은 워크로드에 따라 조정됩니다.

참고: 구성을 프로덕션으로 이동하기 전에 기존 쿼리 또는 워크로드에서 자동 WLM을 테스트하는 것이 좋습니다.

자동 WLM을 사용하여 Amazon Redshift에서 워크로드의 우선 순위를 정하려면 다음 단계를 수행하십시오.

1.    AWS Management Console에 로그인합니다.

2.    Amazon Redshift 콘솔을 엽니다.

3.    탐색 메뉴에서 [구성(CONFIG)]을 선택합니다.

4.    [워크로드 관리(Workload management)]를 선택합니다.

5.    수정하려는 파라미터 그룹을 선택합니다.

6.    [워크로드 관리(Workload management)] 탭을 선택하여 현재 WLM 구성을 봅니다.

7.    (선택 사항) WLM 파라미터 그룹이 자동 WLM 모드로 설정된 경우 업데이트가 필요하지 않습니다.

8.    (선택 사항) WLM 파라미터 그룹이 수동 WLM 모드로 설정된 경우 파라미터 그룹에 대한 WLM 구성을 수정합니다. [워크로드 대기열 편집(Edit workload queues)]을 선택하여 WLM 구성을 편집합니다. 그런 다음 [WLM 모드 전환(Switch WLM mode)]을 선택하여 자동 WLM으로 전환합니다.

9.    [대기열 추가(Add queue)]를 선택하여 워크로드 대기열을 추가합니다. 각 워크로드에 대해 별도의 대기열(최대 8개의 대기열)을 생성하여 대기열을 사용자 그룹 또는 쿼리 그룹과 연결할 수 있습니다.

10.    [저장(Save)]을 선택합니다.

11.    대기열에 쿼리를 할당합니다.

12.    대기열의 우선 순위 상태를 구성합니다. 기본적으로 각 대기열에는 “보통” 우선 순위 상태가 할당됩니다.

주: 수퍼유저는 쿼리에 “중요” 우선 순위 상태(가장 높은 우선 순위 수준)를 적용할 수 있습니다. 워크로드가 “중요” 우선 순위로 표시되면 해당 쿼리 중 하나만 매번 실행할 수 있습니다.

13.    (선택 사항) WLM 쿼리 모니터링 규칙을 생성하여 쿼리 및 대기열에 대한 성능 경계(예: 시간 제한 또는 동시성 수준)를 정의합니다. 예를 들어, 실행 중인 쿼리가 40초를 초과하는 경우 쿼리의 우선 순위 상태를 변경하도록 쿼리 모니터링 규칙을 설정할 수 있습니다.

수동 WLM

수동 WLM을 활성화하면 각 대기열에는 클러스터의 사용 가능한 메모리 일부가 할당됩니다. 대기열의 메모리는 대기열의 쿼리 슬롯 간에 균등하게 할당됩니다. 여러 WLM 대기열을 관리하는 경우 WLM(워크로드 관리) 대기열을 구성하여 쿼리 처리를 개선할 수 있습니다.

수동 WLM을 사용하여 Amazon Redshift에서 워크로드의 우선 순위를 정하려면 다음 단계를 수행하십시오.

1.    AWS Management Console에 로그인합니다.

2.    Amazon Redshift 콘솔을 엽니다.

3.    탐색 메뉴에서 [구성(CONFIG)]을 선택합니다.

4.    [워크로드 관리(Workload management)]를 선택합니다.

5.    수정하려는 파라미터 그룹을 선택합니다.

6.    [워크로드 관리(Workload management)] 탭을 선택하여 현재 WLM 구성을 봅니다.

7.    (선택 사항) WLM 파라미터 그룹이 수동 WLM 모드로 설정된 경우 업데이트할 필요가 없습니다.

8.    (선택 사항) WLM 파라미터 그룹이 자동 WLM 모드로 설정된 경우 파라미터 그룹에 대한 WLM 구성을 수정합니다. [워크로드 대기열 편집(Edit workload queues)]을 선택하여 WLM 구성을 편집합니다. 그런 다음 [WLM 모드 전환(Switch WLM mode]을 선택하여 수동 WLM으로 전환합니다.

9.    [대기열 추가(Add queue)]를 선택하여 워크로드 대기열을 추가합니다. 각 워크로드에 대해 별도의 대기열(최대 8개의 대기열)을 생성하여 대기열을 사용자 그룹 또는 쿼리 그룹과 연결할 수 있습니다.

10.    [저장(Save)]을 선택합니다.

11.    쿼리 할당 규칙을 생성하고 정의합니다.

주: 쿼리는 사용자 또는 쿼리 그룹에 따라 지정됩니다. 할당되지 않은 쿼리는 기본 대기열에서 실행됩니다.

12.    WLM 동적 메모리 할당을 사용하여 각 대기열에 할당된 메모리 양을 구성합니다. WLM 동적 메모리 구성은 메모리 사용량에 따라 워크로드의 우선 순위를 지정하는 데 도움이 됩니다.

13.    (선택 사항) 지표 경계에 도달하는 쿼리를 관리하는 쿼리 모니터링 규칙을 정의하고 생성합니다. 예를 들어 쿼리 모니터링 규칙을 사용하여 장기 실행 쿼리를 홉하거나 취소할 수 있습니다.