OceanBase 数据库是由蚂蚁集团、阿里巴巴完全自主研发的金融级分布式关系数据库。OceanBase 数据库通过 OceanBase 集群来进行管理。一个 OceanBase 集群由多个 Zone 组成,Zone 的个数大于等于 3 个,每个 Zone 又包含了多个 OceanBase 服务器(observer 进程运行在这些服务器上),一般情况下各个 Zone 内的机器配置与数量保持一致,多台 OceanBase 服务器作为资源组成各个业务所需的资源池。管理员可以根据业务情况,将资源再划分成不同大小的资源池分配给租户使用,一般建议高性能要求的业务分配大资源池,低性能要求的业务分配小资源池。

    OceanBase 数据库基础组件之间的关系如下图所示。

    Zone 的个数大于等于 3 个,因为 OceanBase 数据库采用 Paxos 协议,多数派需要达成一致,3 个及以上的 Zone 可以保证当 1 个 Zone 故障后,剩下的 2 个 Zone 内的副本依然还可以构成多数派,不影响业务。 OceanBase 服务器相对独立,拥有自己的计算引擎和存储引擎,也会有部分数据。对业务而言,每台 OceanBase 服务器均是一台传统的集中式数据库,业务访问到这台 OceanBase 服务器后,如果需要访 问的数据在其它 OceanBase 服务器上,它们自己会自动协商调度,对业务无感知。

    资源池和租户

    系统租户保存系统表,一般系统租户的 ID 为 1000 以内。剩下的是业务租户,创建租户时必须指定是该租户为 MySQL 模式还是 Oracle 模式。