Amazon Redshift
データベース開発者ガイド (API バージョン 2012-12-01)

ワークロード管理の実装

現時点では、[自動 WLM] は、すべての Amazon Redshift リージョンで利用できません。自動 WLM と、関連する Amazon Redshift コンソールの変更は、今後のリリースでその他の AWS リージョンにデプロイされます。

ワークロード管理 (WLM) を使用して複数のクエリキューを定義し、実行時にクエリを適切なキューにルーティングできます。

複数のセッションやユーザーが同時にクエリを実行している場合があります。このような場合、一部のクエリがクラスターリソースを長時間消費して、他のクエリのパフォーマンスに影響を与えることがあります。たとえば、あるユーザーグループが、複数の大規模なテーブルの行を選択して並べ替える、実行時間の長い複雑なクエリをときどき送信するとします。別のグループは、1 つまたは 2 つのテーブルから数行のみを選択し、数秒実行される短いクエリを頻繁に送信します。この状況では、実行時間が短いクエリは、実行時間が長いクエリが完了するまでキューで待機しなければならない場合があります。

同時実行スケーリングを使用すると、一貫した高速のクエリパフォーマンスで、事実上無制限の同時ユーザーと同時クエリをサポートできます。詳細については、「同時実行スケーリング」を参照してください。

Amazon Redshift WLM は、自動 WLM または手動 WLM で実行するように設定できます。

  • 自動 WLM

    Amazon Redshift では、同時実行クエリを自動 WLM で実行するためのリソースの分割方法を管理できます。自動 WLM は、クエリを実行するために必要なリソースを管理します。Amazon Redshift は、ディスパッチされたクエリごとに割り当てる同時実行クエリ数とメモリ量を決定します。自動 WLM を Amazon Redshift コンソールを使用して有効にするには、[Switch WLM mode (WLM モードの切り替え)]、[Auto WLM (自動 WLM)] の順に選択します。このオプションでは、1 つのキューを使用してキューを管理します。[メモリ] フィールドと [Concurrency on main (メインでの同時実行数)] フィールドは [auto (自動)] に設定されます。詳細については、「自動ワークロード管理 (WLM)」を参照してください。

  • 手動 WLM

    別の方法として、システムパフォーマンスとユーザーエクスペリエンスを管理するには、WLM 設定を変更して、実行時間が長いクエリと短いクエリ用に異なるキューを作成できます。実行時に、ユーザーグループやクエリグループに応じて、これらのクエリをキューにルーティングできます。この手動設定を有効にするには、Amazon Redshift コンソールで [Manual WLM (手動 WLM)] に切り替えます。このオプションでは、管理する対象のキューと、[メモリ] フィールドおよび [Concurrency on main (メインでの同時実行数)] フィールドの値を指定します。

    手動設定では、クエリキューを最大 8 個設定できます。さらに、これらのキューごとに同時実行できるクエリの数を設定できます。クエリを実行するユーザーや指定したラベルに基づいて特定のキューにクエリをルーティングするためのルールを設定できます。各キューに割り当てるメモリの量を設定することによって、大きいクエリを他のキューよりメモリの多いキューで実行することもできます。また、実行時間が長いクエリを制限するようにクエリモニタリングルール (QMR) を設定することもできます。

    注記

    手動 WLM クエリキューのクエリスロットは合計 15 個以下にすることをお勧めします。詳細については、「同時実行レベル」を参照してください。

自動 WLM手動 WLM を切り替える間は、クラスターが pending reboot 状態になります。クラスターを再起動するまでは切り替えが有効になりません。