本文将介绍PolarDB-X的扩展性原理。

并发和存储容量扩展性

扩展性本质在于分而治之,PolarDB-X计算资源通过水平拆分(分库分表)垂直拆分,将数据分散到多个存储资源MySQL以实现获取数据读写并发和存储容量分散的效果。

水平拆分(分库分表)

您可以通过一定的计算或路由规则放置数据,实现将数据分散到多个存储资源MySQL的目的,实际上PolarDB-X具备相当丰富的算法来应对各种场景。

计算扩展性

无论是水平拆分还是垂直拆分,PolarDB-X常常碰到需要对远超单机容量数据进行复杂计算的需求,例如需要执行多表JOIN、多层嵌套子查询、Grouping、Sorting、Aggregation等组合的SQL操作语句。

针对这类在线数据库上复杂SQL的处理, PolarDB-X额外扩展了单机并行处理器(Symmetric Multi-Processingy,简称SMP)和多机并行处理器(DAG)。前者完全集成在PolarDB-X内核中;而对于后者,PolarDB-X构建了一个计算集群 ,能够在运行时动态获取执行计划并进行分布式计算,通过增加节点提升计算能力。