About Greenplum Command Center Workloads

Greenplum Database segment hosts have a set amount of memory, CPU, I/O, and network resources. If these resources start to run short due to heavy database load, queries can fail or the entire database system can fail or become unacceptably slow. For this reason, it is important to manage database requests to prevent resource depletion.

Greenplum Database administrators can create workloads in Command Center to limit the number of concurrent queries that can execute and to allocate memory and CPU resources to different types of queries. By creating workloads for different classes of queries, the administrator can ensure that individual queries and the Greenplum Database system meet user’s performance requirements.

Greenplum Command Center workloads are based on resource groups, the new Greenplum Database workload management method based on Linux control groups (cgroups). The default method for managing workloads in Greenplum Database, however, is to use resource queues. Resource groups are similar to resource queues in some ways, but are better at managing CPU and memory dynamically. With resource groups, memory and CPU are allocated to groups as percentages of available memory and CPU, rather than calculated fixed values.

When resource groups are enabled in Greenplum Database, each database role is assigned to a resource group. A resource group is a database object mapped to a Linux cgroup. When a user starts a transaction, the user’s resource group determines if the transaction can run or if it must wait for other transactions to complete, and it allocates memory and CPU resources to the transaction’s queries.

When the Greenplum Command Center workload management extension is enabled in Greenplum Database, rather than automatically assign the transaction to the user’s resource group, Greenplum Database calls into the extension to determine the resource group for the transaction. By creating query assignment filters in Greenplum Command Center, you can choose the resource group that will execute a transaction. Assignment filters evaluate the current database role and query tags that are set in the database session to select the resource group.

To use Greenplum Command Center’s workload management features, Linux control groups must be configured on the Greenplum cluster hosts, and the Greenplum Database system must be configured to use resource groups instead of resource queues. See Enabling Workload Management in Greenplum Command Center for steps to enable Greenplum Command Center workloads.

To create the query assignment filters that assign transactions to workloads, see Managing Workload Query Assignment Filters.

For more information about Linux cgroups and Greenplum Database resource groups see Using Resource Groups in the Greenplum Database Administrator Guide.