暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库学习Q&A 058:什么是租户?

欢迎访问 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/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论