建立租户前,必须规定租户使用的资源范围,资源池和资源单元可以解决租户资源隔离和负载均衡的需求。

资源单元对应 CPU、内存、存储空间、IOPS 这几个物理资源,是 OceanBase 数据库服务内部的资源容器。资源单元会在集群内自动负载均衡,任何一个资源单元一定会放置在一个资源足够容纳它的服务器上。当集群内的服务器下线前,其上的资源单元必须迁移到其他服务器上,如果集群内其他服务器的资源不足以容纳将要下线的服务器上的资源单元,会导致服务器下线无法成功。

示例:创建**资源单元配置**

目前只有 CPU、内存实际产生作用,存储空间和 IOPS 的值需要填写,但是系统不会限制。

MAX_MEMORY 可以与 MIN_MEMORY 相等,也可以比 MIN_MEMORY 大,系统按照 MAX_MEMORY 进行资源分配,建议将 MAX_MEMORY 与 MIN_MEMORY 设置成相等的。

资源池由具有相同资源单元配置的若干个资源单元组成。一个资源池只能属于一个租户。一个租户可以拥有一个或多个资源池,这些资源池的集合描述了这个租户所能使用的所有物理机器资源。一个租户在同一个服务器 上最多有一个资源单元。

    OceanBase 数据库会将一个租户的资源单元在集群的服务器间均衡。一个租户拥有一个或多个资源池描述的多个资源单元,在每个 Zone 内资源单元的基本均衡策略如下:

    • 同一个租户的若干个资源单元,会均匀分散在不同的服务器上。
    • 根据资源单元的 CPU 和内存规格,通过交换或迁移资源单元,降低 CPU 和内存的平均水位线