OceanBase4.x版本之后主推的单元化方案是obsharding+observer集群。
obsharding就是一个mysql协议的分库分表中间件,可以同时管理多个ob集群,从OCP获取ob集群的元数据。
obsharding会讲后端的ob集群看作mysql小集群,可以讲业务数据横向拆分分片到多个ob集群上,每个分片可以对应一个租户,也就是对应一个业务单元;一个租户可以是单个unit也可以是多个unit(即跨多个ob server)。
OB这样设计的原因是单元化架构下可能会搭建多个ob集群,系统通过obsharding实现单元化架构下跨多个ob集群的数据汇聚能力。
目前obsharding还是非常初级的mysql中间件实现,包括不支持分布式事务,不支持跨节点join,应该主要的目标还是支撑跨单元的数据聚合,例如count。
转载请注明转自高孝鑫的博客!