欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
OceanBase 数据库是多租户架构。在 V4.0.0 版本之前,仅支持两种类型的租户:系统租户和用户租户。从 V4.0.0 版本开始,引入了 Meta 租户概念。因此,当前版本对用户可见的租户有三种类型:系统租户、用户租户以及 Meta 租户。
系统租户
系统租户是集群默认创建的租户,与集群的生命周期一致,负责管理集群和所有租户的生命周期。系统租户仅有一个 1 号日志流,仅支持单点写入,不具备扩展能力。
系统租户可以创建用户表,所有的用户表和系统表数据均由 1 号日志流服务。系统租户的数据是集群私有的,不支持主备集群物理同步和物理备份恢复。
用户租户
用户租户是由用户创建的租户,对外提供完整的数据库功能,支持 MySQL 和 Oracle 两种兼容模式。用户租户支持服务能力水平扩展到多台机器上,支持动态扩容和缩容,内部会根据用户的配置自动创建和删除日志流。
用户租户的数据有更强的数据保护和可用性要求,支持跨集群物理同步和物理备份恢复,典型数据包括:Schema 数据、用户表数据及事务数据等。
功能适用性
OceanBase 数据库社区版仅提供了 MySQL 模式。
Meta 租户
Meta 租户是 OceanBase 数据库内部自管理的租户,每创建一个用户租户系统就会自动创建一个对应的 Meta 租户,其生命期与用户租户保持一致。
Meta 租户用于存储和管理用户租户的集群私有数据,这部分数据不需要进行跨库物理同步以及物理备份恢复,这些数据包括:配置项、位置信息、副本信息、日志流状态、备份恢复相关信息、合并信息等。
租户对比
从用户角度来看,系统租户、用户租户和 Meta 租户的差异性如下表所示。
属性 | 系统租户 | 用户租户 | Meta 租户 |
---|---|---|---|
租户 ID | 1 | 最小值:1002编码方式:最低位编码为 0 | 最小值:1001编码方式:最低位编码为 1与用户租户ID关系:Meta 租户 ID + 1 = 用户租户 ID |
租户命名规范 | SYS | 用户自定义,由大小写英文字母、数字和下划线组成 | META${user_tenant_id} 例如:用户租户的租户 ID 为 1002 ,对应 Meta 租户的租户名为META$1002 |
租户类型 | SYS | USER | META |
数据属性 | 集群私有数据,不支持跨集群物理同步和物理备份恢复 | 集群非私有数据,支持跨集群物理同步和物理备份恢复 | 集群私有数据,不支持跨集群物理同步和物理备份恢复 |
扩展性 | 数据不可水平扩展,只有一个日志流 | 具备水平扩展能力,支持动态扩容和缩容 | 数据不可水平扩展,只有一个日志流 |
租户运维 | 创建:不支持删除:不支持重命名:不支持用户登录:支持修改 Locality:支持修改 Primary Zone:支持 | 创建:支持删除:支持重命名:支持用户登录:支持修改 Locality:支持修改 Primary Zone:支持 | 创建:不支持删除:不支持重命名:不支持用户登录:不支持修改 Locality:不支持修改 Primary Zone:不支持 |
数据对外访问接口 | 系统租户下的视图 | 系统租户下:CDB_xxx 视图和动态性能视图会展示所有用户租户的数据DBA_OB_TENANTS 视图会展示所有用户租户的信息用户租户下: DBA_xxx 视图和动态性能视图会展示本租户的数据 |
Meta 租户不能直接登录,它的信息可以通过用户租户和系统租户进行访问。系统租户下:CDB_xxx 视图和动态性能视图会展示所有 Meta 租户的数据DBA_OB_TENANTS 视图会展示所有 Meta 租户的信息用户租户下: Meta 租户管理的数据会通过用户租户下的视图展示出来。例如,路由信息查询视图 DBA_OB_LS_LOCATIONS 、配置项信息查询视图 GV$OB_PARAMETERS 等 |
租户架构
租户架构如下图所示,用户租户与 Meta 租户一一对应,系统租户与 Meta 租户有且仅有一个 1 号日志流,日志流为 LogStream,简称 LS。用户租户支持动态创建和删除日志流。
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/