はじめに

リソース管理の概要は「Verticaのリソース管理について」でご紹介しました。今回はVerticaで、予め定義されているリソースプールについて、解説をします。

定義済みのリソースプール

デフォルトでは、以下のリソースプールが定義されています。

リソース・プール
項目説明
GENERALユーザのクエリ実行時にデフォルトで使用されるプールです。他のプールでリソースが足りない場合、必要に応じてGENERALプールのメモリが使用されます。また、システムメモリの一部もこのプールを使用します。
SYSQUERYシステムテーブルのクエリの実行中に使用されるプールです。
SYSDATAシステムテーブルの結果が格納されるプールです。
TMTuple Mover(Moveout/Mergeout)実行時に使用されるプールです。
WOSDATAデータロード時に使用されるプールです。2GBもしくは利用可能メモリの25%のいずれか小さい値が設定されます。
JVMJava UDx専用のプールです。2GBもしくは利用可能メモリの10%のいずれか小さい値が設定されます。
DBDバージョン6.1以前に、Database Designer実行中のリソースを割り当てるために使用されていたプールです。
RECOVERYノードのリカバリを処理するために使用されるプールです。
REFRESHプロジェクションのリフレッシュにリソースを割り当てるために使用されるプールです。


参考)リソースプールのパラメータ

各リソースプールのメモリサイズ等はresource_poolsシステムテーブルで確認できます。


項目説明
NAMEリソースプールの名前です。
MEMORYSIZE予約済みのメモリサイズです。
MAXMEMORYSIZEMEMORYSIZEでは足らない場合に、GENERALプールから借りるサイズも含んだ使用可能な最大メモリサイズです。
MAXCONCURRENCY同時実行処理の最大数です。同時実行数が本パラメータの設定値を超えた場合、以降の処理はキュー(待ち状態)に入ります。
PLANNEDCONCURRENCYプールに対して想定されるクエリ実行数です。デフォルト値は1ノード当たりのCPUコア数です。


検証バージョンについて

この記事の内容はVertica 7.2で確認しています。