This topic describes the architecture and basic concepts of resource management.
OceanBase Database is a multi-tenant distributed database. A cluster can have multiple independent tenants, and each tenant provides an independent database service. You can specify the available resources for a physical server and the number and types of replicas in a tenant. The cluster and tenant resource management architecture of the multi-tenant OceanBase Database system is divided into the following three layers from the bottom up:
Physical servers: An OceanBase cluster has several zones that act as containers for physical servers. Each physical server belongs to one zone. A zone can have several physical servers. Physical servers that belong to the same zone are usually deployed in the same IDC. Generally, a zone is equivalent to an IDC.
Tenant resources: Physical resources available for a tenant are managed by resource pools. A resource pool consists of multiple resource units distributed on physical servers. Physical resources available for a resource unit are specified by its resource unit configuration. You can create resource unit configurations as needed.
Tenant data: Tenant data is stored in multi-replica Paxos groups. OceanBase Database allocates data replicas of a tenant to resource units of the tenant based on built-in replica allocation and balancing strategies. A resource unit is a container for the data replicas of a tenant on each physical server.
Note
Meta tenants do not have independent units. Therefore, meta tenants are not included in tenant resource management.
Concepts in resource management:
Resource unit
A resource unit is a container of resources. Replicas are stored in resource units. Therefore, a resource unit is a container of replicas. A resource unit contains computing and storage resources such as the memory, CPU, and IOPS resources. It is a basic unit for cluster load balancing. The distribution of resource units is dynamically adjusted among the OBServer nodes when you add, delete, scale out, and scale in OBServer nodes in the cluster.
Resource pool
A tenant has several resource pools, which contain all resources available to the tenant. A resource pool consists of several resource units with the same resource unit configuration. A resource pool belongs to only one tenant. A resource unit describes a group of computing and storage resources on an OBServer node and can be considered a lightweight virtual machine. A resource unit consists of several CPU resources, memory resources, and disk resources. A tenant can have at most one resource unit on the same OBServer node.
Resource unit configuration
A resource unit configuration describes the CPU, memory, storage, and IOPS resources available for each resource unit in a resource pool. You can modify the resource unit configuration of resource units to dynamically adjust the specifications of the resource units and thereby the resources of corresponding tenants.
Notice
A resource unit configuration specifies the service capabilities of a resource unit, rather than the real-time load of the resource unit.