はじめに
リソース管理の概要は「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 本記事を公開

