WLM 대기열 할당 규칙
Amazon Redshift를 사용하면 워크로드 관리(WLM) 구성에서 대기열 할당 규칙을 정의하여 사용자 쿼리에 대한 메모리 및 CPU 리소스 할당을 제어할 수 있습니다. 다음 섹션에서는 효율적인 리소스 할당을 달성하고 Amazon Redshift의 다양한 워크로드에 대한 서비스 수준 계약을 충족하기 위해 WLM 대기열 할당 규칙을 생성 및 관리하는 방법을 설명합니다.
사용자가 쿼리를 실행하면 아래와 같이 WLM이 WLM 대기열 할당 규칙에 따라 쿼리를 첫 번째로 일치하는 대기열에 할당합니다.
-
사용자가 수퍼유저로 로그인하여 레이블이 수퍼유저인 쿼리 그룹에서 쿼리를 실행할 경우에는 쿼리가 수퍼유저 대기열로 할당됩니다.
-
사용자가 역할의 일부이거나, 나열된 사용자 그룹에 속하거나, 나열된 쿼리 그룹에 속한 쿼리를 실행하는 경우에는 쿼리가 첫 번째 일치하는 대기열에 할당됩니다.
-
쿼리가 어떠한 기준과도 일치하지 않으면 WLM 구성에서 마지막에 정의되어 있는 대기열인 기본 대기열에 할당됩니다.
다음 다이어그램은 이 규칙이 작동하는 방식을 나타낸 것입니다.
쿼리 할당 예
다음 표는 수퍼유저 대기열과 사용자 정의 대기열 4개가 포함된 WLM 구성을 나타낸 것입니다.
대기열 | 동시성 | 사용자 역할 | 사용자 그룹 | 쿼리 그룹 |
---|---|---|---|---|
수퍼유저 |
1 |
수퍼유저 |
||
1 |
5 |
test_db_rw |
UG_1 |
|
2 |
5 |
QG_B |
||
3 |
5 |
UG_2 |
QG_C |
|
기본값 |
5 |
아래 도해는 사용자 그룹 및 쿼리 그룹에 따라 쿼리가 위 표의 대기열에 할당되는 방식을 나타낸 것입니다. 런타임에 쿼리를 사용자 그룹과 쿼리 그룹에 할당하는 방법에 대한 자세한 내용은 본 섹션 후반부의 대기열에 쿼리 할당 섹션을 참조하세요.
위의 예에서 WLM의 할당 방식은 다음과 같습니다.
-
첫 번째 문 집합은 사용자를 사용자 그룹에 할당하는 세 가지 방법을 나타냅니다. 여기에 있는 문들을 실행하는 사용자는
adminuser
이며, WLM 대기열에 나열된 사용자 그룹의 멤버가 아닙니다. 또한 쿼리 그룹도 설정되어 있지 않기 때문에 문들이 모두 기본 대기열로 라우팅됩니다. -
사용자
adminuser
가 수퍼유저이고, 쿼리 그룹이'superuser'
로 설정되어 있기 때문에 쿼리가 수퍼유저 대기열로 할당됩니다. -
test_user
사용자가 대기열 1에 나열된test_db_rw
역할에 할당되었으므로 쿼리가 대기열 1로 할당됩니다. -
사용자
admin1
이 대기열 1에 나열된 사용자 그룹의 멤버이므로 쿼리가 대기열 1로 할당됩니다. -
사용자
vp1
은 나열된 사용자 그룹의 멤버가 아닙니다. 또한 쿼리 그룹이'QG_B'
로 설정되어 있으므로 쿼리가 대기열 2로 할당됩니다. -
사용자
analyst1
이 대기열 3에 나열된 사용자 그룹의 멤버이지만'QG_B'
가 대기열 2와 일치하므로 쿼리가 대기열 2로 할당됩니다. -
사용자
ralph
가 나열된 사용자 그룹의 멤버가 아니고, 쿼리 그룹이 재설정되었으므로 일치하는 대기열이 없습니다. 따라서 쿼리는 기본 대기열로 할당됩니다.