AnalyticDB MySQL elastic clusters utilize an architecture that separates storage and computing resources, which allows you to independently scale computing resources. You can divide computing resources into different resource pools. Computing resources are physically isolated between resource pools. You can bind AnalyticDB for MySQL database accounts to different resource pools. If SQL queries are performed by using a specific account, the queries are performed only on the resource pool that is bound to the account. This isolation between resource pools bound to different accounts allows clusters to support multiple tenants and hybrid loads.

Overview

Elastic clusters provide the following types of resource pools:
  • Default resource pool
    The default resource pool specified by the USER_DEFAULT parameter is created when a cluster is created and cannot be deleted. You can modify only the query execution mode of the default resource pool. The default query execution mode is default_type.
    • Computing resources that are not allocated to custom resource pools belong to the default resource pool. You cannot directly modify the computing resources in the default resource pool.
    • AnalyticDB for MySQL database accounts that are not bound to custom resource pools are bound to the default resource pool.
  • Custom resource pool
    Custom resource pools are created by users. You can modify the computing resources, change the query execution mode of the custom resource pools, and bind or unbind users to or from the custom resource pools. For more information about how to create a custom resource pool, see Manage resource pools or CREATE RESOURCE GROUP.
Resource pools contain the following basic properties:

Amount of resources

The amount of resources is the specifications of computing resources in a resource pool. The amount of resources is exclusive. Computing resources increase in increments of 16 cores and 64 GB of memory, which is equal to the resources of one compute node. The amount of computing resources in a resource pool can be set to 0 core and 0 GB of memory, but cannot exceed that of the total computing resources in a cluster. Example: 0 core and 0 GB of memory, 32 cores and 128 GB of memory, 48 cores and 192 GB of memory, and 64 cores and 256 GB of memory.

Query execution modes

You can use different query execution modes for resource pools. The following query execution modes are supported:
  • default_type: This is the default value. This type indicates that no separate query execution mode is set for resource pools. The query execution mode of resource pools is the same as that of a cluster.
  • batch: This type is ideal for queries that take a long time to complete and involve a large amount of computing data. For example, this type is ideal for extract-transform-load (ETL) queries.
  • interactive: This type is ideal for real-time queries that require low latency.
For more information, see Query execution modes.

Binding between users and resource pools

You can bind users to resource pools. This way, the users can query data only in the resource pools that are bound to them. A user can be bound to only one resource pool. A resource pool can be bound to multiple users.

Note A user indicates an AnalyticDB for MySQL database account. AnalyticDB for MySQL supports the following types of database accounts: privileged accounts that are managed in the AnalyticDB for MySQL console and standard accounts that are managed by using SQL statements. For more information about this issue, see Database accounts and permissions.
  • If a user is not bound to a custom resource pool, the user is bound to the default resource pool.
  • When you delete a resource pool, the users bound to it are unbound.
  • When you delete a user, the resource pool bound to it is unbound.