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

項目 | 説明 |
|---|---|
GENERAL | ユーザのクエリ実行時にデフォルトで使用されるプールです。他のプールでリソースが足りない場合、必要に応じてGENERALプールのメモリが使用されます。また、システムメモリの一部もこのプールを使用します。 |
SYSQUERY | システムテーブルのクエリの実行中に使用されるプールです。 |
SYSDATA | システムテーブルの結果が格納されるプールです。 |
TM | Tuple Mover(Moveout/Mergeout)実行時に使用されるプールです。 |
WOSDATA | データロード時に使用されるプールです。2GBもしくは利用可能メモリの25%のいずれか小さい値が設定されます。 |
JVM | Java UDx専用のプールです。2GBもしくは利用可能メモリの10%のいずれか小さい値が設定されます。 |
DBD | バージョン6.1以前に、Database Designer実行中のリソースを割り当てるために使用されていたプールです。 |
RECOVERY | ノードのリカバリを処理するために使用されるプールです。 |
REFRESH | プロジェクションのリフレッシュにリソースを割り当てるために使用されるプールです。 |
METADATA | カタログデータとストレージデータ構造に割り当てられたメモリを追跡するプールです。 |
BLOBDATA | In-DB Machine Learningを処理するために使用されるために使用されるプールです。 |
参考)リソースプールのパラメータ
各リソースプールのメモリサイズ等はresource_poolsシステムテーブルで確認できます。
dbadmin=> SELECT name,memorysize,maxmemorysize,maxconcurrency,plannedconcurrency
dbadmin-> FROM resource_pools;
name | memorysize | maxmemorysize | maxconcurrency | plannedconcurrency
----------+------------+---------------+----------------+--------------------
general | | Special: 95% | | AUTO
sysquery | 64M | | | AUTO
sysdata | 100M | 1G | |
wosdata | 2G | 2G | | AUTO
tm | 5% | | 3 | AUTO
refresh | 0% | | | AUTO
recovery | 0% | | 3 | AUTO
dbd | 0% | | | AUTO
jvm | 0% | 2G | | AUTO
blobdata | 0% | 10% | | AUTO
metadata | 0% | | |
(11 rows)項目 | 説明 |
|---|---|
NAME | リソースプールの名前です。 |
MEMORYSIZE | 予約済みのメモリサイズです。 |
MAXMEMORYSIZE | MEMORYSIZEでは足らない場合に、GENERALプールから借りるサイズも含んだ使用可能な最大メモリサイズです。 |
MAXCONCURRENCY | 同時実行処理の最大数です。同時実行数が本パラメータの設定値を超えた場合、以降の処理はキュー(待ち状態)に入ります。 |
PLANNEDCONCURRENCY | プールに対して想定されるクエリ実行数です。デフォルト値は1ノード当たりのCPUコア数です。 |
検証バージョンについて
この記事の内容はVertica 12.0で確認しています。
更新履歴
2023/05/15 Vertica12.0用に改訂
2016/07/13 本記事を公開