Amazon Redshift で特定のクエリキューを作成して優先順位を付けたいと考えています。
簡単な説明
Amazon Redshift では、抽出変換ロード (ETL) クエリを作成し、優先度に応じて異なるキューに分けることができます。ユーザーグループ、クエリグループ、およびクエリ割り当てルールに従ってクエリに優先順位を付けることができます。
クエリに優先順位を付けるには、Amazon Redshift ワークロード管理 (WLM) を使用してください。Amazon Redshift は自動 WLM および 手動 WLM 設定をサポートしています。
手動 WLM とは異なり、自動 WLM では、ワークロードの相対的な優先順位を示すクエリ優先度値を設定できます。自動 WLM と手動 WLM の両方で、個別のクエリキューを作成できます。クエリに優先順位を付けるには、ユースケースに最適な WLM 設定を選択してください。
解決策
自動 WLM
注: 構成を本番環境に移行する前に、既存のクエリまたはワークロードで自動 WLM をテストするのがベストプラクティスです。
自動 WLM を使用して Amazon Redshift のワークロードに優先順位を付けるには、次の手順を実行します。
- AWS マネジメントコンソールにサインインします。
- Amazon Redshift コンソールを開きます。
- ナビゲーションペインで、[設定] を選択します。
- [ワークロード管理] を選択します。
- リストから、変更するパラメータグループを選択します。
- [ワークロード管理] タブを選択すると、現在の WLM 設定が表示されます。
- (オプション) WLM パラメータグループを更新します。WLM パラメータグループが 自動 WLM モードに設定されている場合、更新は不要です。WLM パラメータグループが手動 WLM モードに設定されている場合は、パラメータグループの WLM 設定を変更します。WLM 設定を編集するには、[ワークロードキューの編集] を選択します。次に、[WLM モードの切り替え] を選択して、[自動 WLM] に切り替えます。
- [キューの追加] を選択して、ワークロードキューを追加します。ワークロードごとに最大 8 つのキューを作成し、キューをユーザーグループまたはクエリグループに関連付けることができます。
- キューの優先度ステータスを設定します。デフォルトでは、各キューには「標準」の優先度が割り当てられます。
注: スーパーユーザーは、最も優先度の高いステータス「クリティカル」を適用できます。ワークロードが「クリティカル」優先度としてマークされている場合、一度に実行できるクエリは 1 つだけです。
- (オプション) WLM クエリモニタリングルールを作成して、時間制限や同時実行レベルなど、クエリとキューのパフォーマンス境界を定義します。たとえば、実行中のクエリが 40 秒を超えたときにクエリの優先度ステータスが変更されるようにクエリモニタリングルールを設定できます。
- [保存] を選択します。
- キュー割り当てルールを作成して定義し、クエリをキューに割り当てます。
注: クエリは、ユーザーまたはクエリグループに従って割り当てられます。割り当てられていないクエリはデフォルトキューで実行されます。
手動 WLM
複数の WLM キューを管理している場合は、ワークロード管理 (WLM) キューを設定してクエリ処理を改善できます。
手動 WLM を使用して Amazon Redshift のワークロードに優先順位を付けるには、次の手順を実行します。
- AWS マネジメントコンソールにサインインします。
- Amazon Redshift コンソールを開きます。
- ナビゲーションメニューで [設定] を選択します。
- [ワークロード管理] を選択します。
- リストから、変更するパラメータグループを選択します。
- [ワークロード管理] タブを選択すると、現在の WLM 設定が表示されます。
- (オプション) WLM パラメータグループを更新します。WLM パラメータグループが手動 WLM モードに設定されている場合、更新は不要です。WLM パラメータグループが [自動 WLM] モードに設定されている場合は、パラメータグループの WLM 設定を変更します。WLM 設定を編集するには、[ワークロードキューの編集] を選択します。次に、[WLM モードの切り替え] を選択して、[手動 WLM] に切り替えます。
- [キューの追加] を選択してワークロードキューを追加します。ワークロードごとに最大 8 つのキューを作成し、キューをユーザーグループまたはクエリグループに関連付けることができます。
- WLM 動的メモリ割り当てで、各キューに割り当てられるメモリ量を設定します。WLM の動的メモリ設定は、メモリ使用量に応じてワークロードに優先順位を付けるのに便利です。
- (オプション) メトリックの境界に達するクエリを管理するためのクエリモニタリングルールを作成して定義します。たとえば、クエリモニタリングルールを使用して、実行時間が長いクエリをホップするか、キャンセルできます。
- [保存] を選択します。
- キュー割り当てルールを作成して定義し、クエリをキューに割り当てます。
注: クエリは、ユーザーまたはクエリグループに従って割り当てられます。割り当てられていないクエリはデフォルトキューで実行されます。
関連情報
WLM システムテーブルとビュー
STV_WLM_QUERY_QUEUE_STATE
STV_WLM_QUERY_STATE
STV_WLM_SERVICE_CLASS_CONFIG