Resource Pool Architecture

The Resource Manager handles resources as one or more resource pools, which are a pre-allocated subset of the system resources with an associated queue.

Vertica is preconfigured with a set of Built-In Pools that allocate resources to different request types, where the GENERAL pool allows for a certain concurrency level based on the RAM and cores in the machines.

Modifying and Creating Resource Pools

You can configure the built-in GENERAL pool based on actual concurrency and performance requirements, as described in Built-In Pools. You can also create custom pools to handle various classes of workloads and optionally restrict user requests to your custom pools.

You create a pool using the CREATE RESOURCE POOL command.

You can create new resource pools and configure them for memory usage, concurrency, and queue priority. In addition, you can restrict a database user or user session to use a specific resource pool. Doing so allows you to control how memory, CPU, and other resources are allocated. If you have competing resource requirements across different classes of workloads, create user-defined pools. The following graphic illustrates what database operations are executed in which resource pool. Only four of the built-in pools are shown.