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.
- Default resource pool
The default resource pool specified by the
USER_DEFAULTparameter 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.
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
- 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.
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.
- 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.