理解OB租户资源隔离

OceanBase 中“租户(Tenant)”的作用是什么?资源是如何在租户之间隔离和调度的?

1 个赞

@论坛小助手

在 OceanBase 数据库中,租户(Tenant)是一个逻辑概念,主要作用是作为资源分配的单位,同时也是数据库对象管理和资源管理的基础。租户可以被视作传统数据库的一个‘实例’,具有独立的数据库服务能力和资源配额。租户之间是完全隔离的,这意味着每个租户都有自己的资源(如 CPU、内存、I/O 等),并且这些资源不会被其他租户抢占。OceanBase 实现了租户间资源隔离的方法包括但不限于:

  1. 将 Unit 作为分配给租户资源的基本单位,Unit 类似于 Docker 容器。每个 Unit 在节点上占用了一部分 CPU、内存等物理资源。
  2. 每个租户可以在多个节点上拥有多个 Unit,但是每个租户在同一个节点上只能有一个 Unit。OceanBase 不会对不同节点上的 Unit 进行全局资源控制,即不会允许一个租户在某一节点未能获得足够的资源时去抢夺其他租户在另一节点上的资源。
  3. 资源隔离是基于节点级别的行为,即每个节点负责控制其上多个 Unit 之间的资源分配。

详情请参考:

  1. 租户间的资源隔离
  2. 用户和权限概述
  3. 多租户架构概述
  4. 租户的资源管理
  5. 查看 OceanBase 集群资源的使用情况