全部产品
Search
文档中心

云原生数据库 PolarDB:分片集群兼容(Limitless多主架构)

更新时间:Aug 06, 2026

当写入压力和数据规模增长时,MongoDB通常通过分片集群(Sharded Cluster)解决横向写扩展问题,但同时引入了较高的运维复杂度。PolarDB MySQL版多主集群(Limitless)基于共享存储实现多写多读,在文档数据库(兼容MongoDB协议)场景下提供免数据搬迁的横向写扩展能力。本文介绍Limitless多主架构的原理、与MongoDB分片架构的对比以及适用场景。

说明

多主集群(Limitless)的文档数据库兼容能力目前处于灰度阶段,如您有相关需求,请提交工单与我们联系。

背景

文档数据库(兼容MongoDB协议)的默认部署形态为一主多读架构,使用体验上与MongoDB副本集(Replica Set)相近。但在实现机制上,PolarDB MySQL版具备天然优势:

随着写入压力和数据规模增长,副本集架构面临明显瓶颈:只有单个主节点承担写入负载、每个成员保存全量数据、扩容手段局限于增加读能力而无法扩展写入。

MongoDB通常通过分片集群(Sharded Cluster)解决横向写扩展问题:数据按分片键划分为多个范围,分布到不同Shard上。然而,分片架构在获得写扩展能力的同时,也引入了显著的运维复杂度—增删Shard依赖Balancer进行Chunk迁移与再均衡,迁移耗时取决于数据量、分布和限流策略,且迁移期间可能影响在线负载。

PolarDB Limitless多主架构

分片集群:Limitless 多主架构

为解决一写多读架构下的写入瓶颈,PolarDB MySQL版支持了多主集群(Limitless)。集群内多个读写(RW)节点共享PolarStore中的数据文件,代理层根据数据库或数据对象的访问点,将请求路由到对应的RW节点。

不同库或集合可以分布到不同读写(RW)节点并行写入,从而实现集群级多写。同一个库或集合在同一时刻仍由一个读写(RW)节点负责写入。扩缩容或负载调度时,系统主要切换访问点和路由关系,无需在计算节点之间搬迁数据文件。

在文档数据库兼容场景下,应用继续使用标准MongoDB驱动和统一集群地址接入,由代理层完成协议转换和请求路由,应用无需感知多主拓扑。

与MongoDB分片架构的对比

MongoDB通过分片集群(Sharded Cluster)实现写扩展:由mongos路由、Config Server和多个Shard(每个Shard通常为3副本的副本集)组成,数据按分片键(Shard Key)切分为Chunk分布到各Shard。PolarDB MySQL版多主架构基于共享存储实现多写多读,在达到写扩展目标的同时,架构与运维复杂度更低:

对比维度

MongoDB分片痛点

PolarDB多主架构的优势

扩容

依赖Balancer做Chunk迁移与再均衡,大数据量耗时久,可能影响在线负载。

  • 无需数据搬迁:数据全部位于共享存储,新增读写(RW)节点无需迁移数据。

  • 库/集合访问点可秒级切换。

缩容

需先迁空整只Shard,流程长、风险高。

将库/集合归属到少量读写(RW)节点后直接缩减,无数据搬迁。

架构组件

mongos+Config Server+多Shard(每Shard为副本集),组件多、运维重。

单集群单地址:统一代理层+多读写(RW)节点+共享存储,路由与元数据管理内建,无需额外部署运维组件。

资源和成本

每Shard需独立副本集,计算、存储、高可用资源随Shard数量线性叠加。

  • 一份共享存储、按量付费,可靠性由存储层多副本保障。

  • 多主互备免专用备节点,波谷期收拢集合、缩减节点。

跨节点查询

跨分片查询(scatter-gather)及聚合在mongos层汇聚。

全局只读节点提供跨读写(RW)节点统一查询入口,无需另建汇聚集群和同步链路。

数据均衡

Balancer窗口、jumbo Chunk、孤立文档等长期运维负担。

无Balancer、无Chunk:调度即归属切换,不存在数据再均衡或孤立数据问题。

高可用

Shard故障依赖副本集选主,需常备冗余节点。

多主互备:读写(RW)节点故障后其上库/集合秒级切换至其他低负载读写(RW)节点,高可用与成本兼顾。

核心优势和能力

能力

说明

线性写扩展

最多63个读写(RW)节点并发写入,吞吐随节点数近似线性增长。

多主互备

无需专用备节点,任意读写(RW)故障后其库/集合秒级切换至其他低负载读写(RW)。

弹性调度

库/集合归属动态调整:高峰分摊热点,低谷收拢缩容。

全局聚合读

全局只读节点跨读写(RW)统一查询,支撑跨租户/跨集合分析视图。

零业务改造

标准MongoDB驱动直连,路由与拓扑对业务完全透明。

Serverless能力

可与Serverless能力叠加。读写(RW)节点按负载自动伸缩,按量付费,进一步降本和提升稳定性。

适用场景

以下场景通常需要借助MongoDB分片集群解决写入扩展问题。PolarDB Limitless多主架构在同等场景下,以更低的架构与运维复杂度实现相近甚至更优的扩展效果。

  • SaaS多租户:按“一租户一库”组织数据。MongoDB分片通过Shard分布实现租户隔离,但租户迁移需Chunk搬迁,耗时长、易抖动。PolarDB Limitless下,迁移仅切换归属、不搬数据,做到秒级迁移、零抖动,有效避免其他租户问题。

  • IoT/日志类高并发写入:按业务域拆分集合并发写入。MongoDB分片依赖Balancer再均衡应对热点,响应滞后。PolarDB Limitless下,热点集合秒级调度至低负载读写(RW),写入吞吐随节点数近似线性增长。

  • 游戏全球服/分区分服:开服高峰分散各服库、末期合服降本。MongoDB分片合服需Chunk搬迁与节点下线,流程长、风险高。PolarDB Limitless下,合服仅切换归属、不搬迁数据,对在线玩家零感知,运维成本和风险大幅降低。

  • 电商大促等波峰波谷业务:MongoDB分片需在分片键设计阶段预判热点,大促扩容依赖Chunk迁移预热,弹性以小时甚至天计。PolarDB Limitless下,分钟级扩容读写(RW)并分发热点集合,大促后快速收拢—弹性从“天级压缩到分钟级”。

总结

PolarDB Limitless多主架构通过共享存储+多读写(RW)节点+统一代理层,在保持MongoDB兼容性的前提下,实现了免数据搬迁的横向写扩展。相比传统MongoDB分片集群,架构更简洁、运维更轻量、弹性更敏捷。