はじめに
リソース管理の概要は「Verticaのリソース管理について」でご紹介しました。今回はVerticaで、予め定義されているリソースプールについて、解説をします。定義済みのリソースプール
デフォルトでは、以下のリソースプールが定義されています。項目 | 説明 |
---|---|
GENERAL | ユーザのクエリ実行時にデフォルトで使用されるプールです。他のプールでリソースが足りない場合、必要に応じてGENERALプールのメモリが使用されます。また、システムメモリの一部もこのプールを使用します。 |
SYSQUERY | システムテーブルのクエリの実行中に使用されるプールです。 |
SYSDATA | システムテーブルの結果が格納されるプールです。 ※9.3以降のバージョンでは使用されません。 |
TM | Tuple Mover(Moveout/Mergeout)実行時に使用されるプールです。 |
WOSDATA | データロード時に使用されるプールです。2GBもしくは利用可能メモリの25%のいずれか小さい値が設定されます。 ※9.3以降のバージョンで作成されたデータベースでは使用されません。 |
JVM | Java UDx専用のプールです。2GBもしくは利用可能メモリの10%のいずれか小さい値が設定されます。 |
DBD | バージョン6.1以前に、Database Designer実行中のリソースを割り当てるために使用されていたプールです。 |
RECOVERY | ノードのリカバリを処理するために使用されるプールです。 |
REFRESH | プロジェクションのリフレッシュにリソースを割り当てるために使用されるプールです。 |
METADATA | カタログデータとストレージデータ構造に割り当てられたメモリを追跡するプールです。 |
BLOBDATA | In-DB Machine Learningを処理するために使用されるために使用されるプールです。 |
参考)リソースプールのパラメータ
各リソースプールのメモリサイズ等はresource_poolsシステムテーブルで確認できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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 本記事を公開