随着业务数据量和访问压力持续增长,单节点数据库可能面临存储容量和读写性能瓶颈。PolarDB MySQL版多主集群分区表支持按分布键将数据水平拆分到多个物理分片,并由多个读写节点共同承载业务负载。该方案结合了共享存储的弹性与分布式计算的横向扩展能力,可用于提升大规模业务的并发吞吐能力。
产品架构
多主集群分区表采用存储与计算分离的架构:
存储层:存储层池化存储资源(共享存储),提供按需资源分配。
计算层:计算层支持多个节点同时读写(无共享),以横向扩展读写性能。
适用范围
目前仅PolarDB MySQL版8.0.2内核版本支持多主集群分区表。
核心优势和能力
自动水平拆分
在创建多主集群分区表时指定分布键,系统根据分布规则将数据自动分布到不同的物理分片中。
对业务透明
多主集群分区表的使用方式与普通表相近,应用通常无需感知数据的物理分布。
横向写扩展
支持多个读写节点同时承载写入任务,可根据业务负载灵活扩展计算资源。
一体化分布式DDL
提供了一个全面集成的一体化分布式DDL框架,确保所有相关联的操作如添加/删除索引、修改列定义等都能在一个统一且透明的过程中顺利完成,极大简化了维护流程。
全局读能力
通过全局只读节点读取集群内的全局数据,用于承载跨库、跨分片的只读查询,无需额外搭建汇聚集群和DTS同步链路。
适用场景
多主集群分区表是多主集群(Limitless)提供的数据组织形态,主要面向电商、游戏等大数据量、高并发读写的应用场景。
电商交易场景
面向大表、高并发写入和热点业务,通过分布键将数据和访问压力分散到多个读写节点,降低单节点压力。
分库分表场景
面向已经采用分库分表架构的业务,提供透明的数据拆分和一体化分布式DDL能力,降低应用改造与日常维护成本。
性能对比
使用Sysbench分别压测了市面上主流商用的分布式数据库1、分布式数据库2、以及PolarDB多主集群分区表:
测试说明:在购买页面,分别购买分布式数据库1、分布式数据库2以及PolarDB多主分区表,确保所购买创建的集群成本一致。
测试过程:Sysbench在一台32核128GB内存的ECS测试机上运行,通过128个并发请求线程对各个分布式数据库进行性能测试。测试了四种工作负载模式:oltp_point_select、oltp_read_only、oltp_write_only和oltp_read_write从而评估各个分布式数据库的性能表现。
测试结果:以下是对各个分布式数据库性能对比如下,以QPS为例:

在上述测试环境和工作负载下,PolarDB多主集群分区表表现出良好的综合性能。实际性能会受到实例规格、数据规模、数据分布和业务负载等因素影响。