OceanBase 数据库在一个系统中可同时支持 MySQL 模式和 Oracle 模式两种模式的租户。用户在创建租户时,可选择创建 MySQL 兼容模式的租户或 Oracle 兼容模式的租户,租户的兼容模式一经确定就无法更改,所有数据类型、SQL 功能、视图等相应地与 MySQL 数据库或 Oracle 数据库保持同等。
OceanBase 数据库社区版仅提供了 MySQL 模式。
2.1 MySQL 模式
MySQL 模式是为低落 MySQL 数据库迁徙至 OceanBase 数据库所引发的业务系统改造本钱,同时使业务数据库设计人员、开发人员、数据库管理员等可复用积累的 MySQL 数据库技能知识经验,并能快速上手 OceanBase 数据库而支持的一种租户类型功能。OceanBase 数据库的 MySQL 模式兼容 MySQL 5.7 的绝大部分功能和语法,兼容 MySQL 5.7 版本的全量以及 8.0 版本的部分 JSON 函数,基于 MySQL 的应用能够平滑迁徙。
2.2 Oracle 模式
用户租户是由用户创建的租户,对外提供完整的数据库功能,支持 MySQL 和 Oracle 两种兼容模式。用户租户支持服务本领水平扩展到多台呆板上,支持动态扩容和缩容,内部会根据用户的配置自动创建和删除日志流。
用户租户的数据有更强的数据保护和可用性要求,支持跨集群物理同步和物理备份恢复,典范数据包罗:Schema 数据、用户表数据及事务数据等。
OceanBase 数据库社区版仅提供了 MySQL 模式。
3.3 Meta 租户
Meta 租户是 OceanBase 数据库内部自管理的租户,每创建一个用户租户系统就会自动创建一个对应的 Meta 租户,其生命周期与用户租户保持同等。
Meta 租户用于存储和管理用户租户的集群私有数据,这部分数据不必要进行跨库物理同步以及物理备份恢复,这些数据包罗:配置项、位置信息、副本信息、日志流状态、备份恢复相关信息、合并信息等。
3.4 租户架构
租户架构如下图所示,用户租户与 Meta 租户逐一对应,系统租户与 Meta 租户有且仅有一个 1 号日志流,日志流为 LogStream,简称 LS。用户租户支持动态创建和删除日志流。