WLM キュー割り当てルール
Amazon Redshift では、ワークロード管理 (WLM) 設定でキュー割り当てルールを定義することで、メモリと CPU リソースのユーザークエリへの割り当てを制御できます。次のセクションでは、効率的なリソース配分を実現し、Amazon Redshift のさまざまなワークロードのサービスレベルアグリーメントを満たすための WLM キュー割り当てルールの作成と管理について説明します。
ユーザーがクエリを実行するときに、WLM は WLM キュー割り当てルールに基づいて、最初に一致するキューにクエリを割り当てます。
-
ユーザーがスーパーユーザーとしてログインし、superuser というラベルのクエリグループでクエリを実行すると、クエリはスーパーユーザーキューに割り当てられます。
-
ユーザーがロールの一部で、リストされているユーザーグループに属する場合、またはリストされているクエリグループ内でクエリを実行する場合、クエリは最初に一致するキューに割り当てられます。
-
クエリがいずれの条件にも一致しない場合、クエリは WLM 設定で最後のキューとして定義されているデフォルトキューに割り当てられます。
次の図にこれらのルールの仕組みを示します。
キュー割り当ての例
次の表に、superuser キューと 4 つのユーザー定義キューを持つ WLM 設定を示します。
キュー | Concurrency | ユーザーロール | ユーザーグループ | クエリグループ |
---|---|---|---|---|
スーパーユーザー |
1 |
スーパーユーザー |
||
1 |
5 |
test_db_rw |
UG_1 |
|
2 |
5 |
QG_B |
||
3 |
5 |
UG_2 |
QG_C |
|
デフォルト |
5 |
次の図は、ユーザーグループとクエリグループに従って、前のテーブルでクエリがキューに割り当てられる方法を示します。実行時にクエリをユーザーグループとクエリグループに割り当てる方法の詳細については、後の「キューへのクエリの割り当て」を参照してください。
この例では、WLM は次の割り当てを行います。
-
ステートメントの最初のセットでは、ユーザーをユーザーグループに割り当てるための 3 つの方法を示します。ステートメントは、ユーザー
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
は、リストされたユーザーグループのメンバーではなく、クエリグループがリセットされたため、一致するキューはありません。クエリはデフォルトキューに割り当てられます。