WLM キュー割り当てルール - Amazon Redshift

WLM キュー割り当てルール

Amazon Redshift では、ワークロード管理 (WLM) 設定でキュー割り当てルールを定義することで、メモリと CPU リソースのユーザークエリへの割り当てを制御できます。次のセクションでは、効率的なリソース配分を実現し、Amazon Redshift のさまざまなワークロードのサービスレベルアグリーメントを満たすための WLM キュー割り当てルールの作成と管理について説明します。

ユーザーがクエリを実行するときに、WLM は WLM キュー割り当てルールに基づいて、最初に一致するキューにクエリを割り当てます。

  1. ユーザーがスーパーユーザーとしてログインし、superuser というラベルのクエリグループでクエリを実行すると、クエリはスーパーユーザーキューに割り当てられます。

  2. ユーザーがロールの一部で、リストされているユーザーグループに属する場合、またはリストされているクエリグループ内でクエリを実行する場合、クエリは最初に一致するキューに割り当てられます。

  3. クエリがいずれの条件にも一致しない場合、クエリは WLM 設定で最後のキューとして定義されているデフォルトキューに割り当てられます。

次の図にこれらのルールの仕組みを示します。

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 は次の割り当てを行います。

  1. ステートメントの最初のセットでは、ユーザーをユーザーグループに割り当てるための 3 つの方法を示します。ステートメントは、ユーザー adminuser によって実行されます。このユーザーは、いずれかの WLM キューにリストされているユーザーグループのメンバーではありません。クエリグループは設定されないため、ステートメントはデフォルトキューにルーティングされます。

  2. ユーザー adminuser はスーパーユーザーであり、クエリグループは 'superuser' に設定されるため、クエリはスーパーユーザーキューに割り当てられます。

  3. ユーザー test_user は、キュー 1 にリストされたロール test_db_rw が割り当てられるため、クエリはキュー 1 に割り当てられます。

  4. ユーザー admin1 はキュー 1 にリストされたユーザーグループのメンバーであるため、クエリはキュー 1 に割り当てられます。

  5. ユーザー vp1 は、リストされたユーザーグループのメンバーではありません。クエリグループは 'QG_B' に設定されているため、クエリはキュー 2 に割り当てられます。

  6. ユーザー analyst1 はキュー 3 にリストされたユーザーグループのメンバーですが、'QG_B' はキュー 2 に一致するため、クエリはキュー 2 に割り当てられます。

  7. ユーザー ralph は、リストされたユーザーグループのメンバーではなく、クエリグループがリセットされたため、一致するキューはありません。クエリはデフォルトキューに割り当てられます。