OceanBase 系统中包含两大类的租户:系统租户和普通租户。

    系统租户是系统内置的,有三个主要的功能:

    • 具备集群管理功能的用户的容器。

    集群级别的管理功能,比如增加/删除租户,修改系统配置项,每日合并等操作,只允许系统租户下的用户来做。

    像选主、日志同步、每日合并等操作没有按租户分离,这些操作所需的资源由系统租户来统一提供。

    • 可以创建自己的用户
    • 有自己独立的 information_schema 等系统数据库
    • 数据库实例所具备的其他特性

    多租户隔离有不同的实现方式,这些实现方式的效果是类似的。OceanBase 数据库采用的是在数据库内部实现一个 SQL 虚拟机,这种方案的好处是 DB 内把很多业务统一管理,把整个管理机制做得对用户特别透明。另外隔离的开销比较低,单台服务器可以服务更多的租户,降低云服务的整体成本。租户隔离分为三个部分:CPU、IO 还有内存,网络目前还不是瓶颈,不做隔离。