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

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




