OcenaBase v4.2 分区转移和负载均衡特性说明


作者简介:
修铭,
OceanBase研发工程师,专注于分布式与数据库融合方向,包括:高可用架构、自动化容灾、动态负载均衡调度、分布式元数据管理。
永乐,
OceanBase存储研发工程师,专注于分布式数据库的负载均衡、容灾复制和备份恢复。

众所周知,OcenaBase是原生分布式数据库,可扩展性是其核心的技术能力,具体体现在两个方面。

一方面是灵活的扩缩容能力,包括垂直扩缩容和水平扩缩容:

  • 垂直扩缩容指通过调整每个服务节点的资源规格来实现服务能力的扩缩容。例如,当服务节点的CPU和内存资源成为瓶颈时,通过动态调节每个服务节点的CPU规格和内存大小可以快速实现服务能力的提升。
  • 水平扩缩容指通过调整服务节点的数量来实现服务能力的扩缩容。例如,从单个服务节点扩展为两个服务节点,可以实现服务能力的扩容。然而只支持服务节点数量的变化是不够的,为了实现业务读写服务能力的水平扩缩容,还需要支持数据重分布,比如从单个服务节点扩展为两个服务节点,让数据均衡地分布在两个服务节点上。反之,当两个服务节点缩容为单个服务节点时,需要让数据重分布到单个服务节点上。

另一方面是数据动态均衡能力,即在服务节点不变的情况下,通过调整数据分布,以实现各个服务节点负载动态均衡的能力。例如,随着表和分区的动态创建和删除,不同服务节点上服务的分区个数会有很大差异,导致服务节点的负载不均衡,基于分区动态均衡能力,可以实现分区在各个服务节点上均衡分布,从而实现负载均衡。

无论是水平扩缩容,还是数据的动态均衡,本质上都是通过调整数据的分布以实现服务节点的负载均衡。因此,我们将水平扩缩容和数据动态均衡的能力统称为负载均衡能力。

OceanBase 各版本的负载均衡有何不同