文本介绍PolarDB-X集中分布式一体化的相关概念。
背景
选择集中式数据库还是分布式数据库一直是数据库选型讨论的热点。对于大部分中小企业来说,集中式数据库就能满足其日常的业务需求,其资源规模适中,成本适中,运维起来也比较简单。分布式数据库具备较高的性能,能够处理复杂的业务场景,满足客户对高吞吐、大存储、低延时、易扩展和超高可用数据库服务的需求。但是,分布式数据库的价格较高,技术门槛和运维成本都较高,对大部分中小企业来说其适用范围比较窄。
然而中小企业可能也会出现业务突增的情况,需要高并发高吞吐的数据库来处理业务,对数据库的扩展性有一定的要求。或者随着业务规模的发展,使用集中式数据库的业务也会有分布式扩展的需求。
因此云原生数据库PolarDB分布式版(简称:PolarDB-X)推出集中分布式一体化的能力,在一套数据库上兼具分布式数据库的可用性与扩展性和集中式数据库的功能与性能。
核心能力
在集中分布式一体化数据库中,存储节点被独立出来作为集中式形态,完全兼容单机数据库形态。当业务增长到需要分布式扩展的时候,架构原地升级成分布式形态,分布式组件无缝对接到原有的存储节点,不需要数据迁移,也不需要应用侧做改造,即可享受分布式带来的可用性与扩展性。
集中分布式一体化的产品形态
PolarDB-X的产品主售形态分为标准版(集中式)和企业版(分布式),技术架构如下:
标准版(集中式)
PolarDB-X标准版是集中式形态,由分布式中的存储节点(DN)多副本单独提供服务。标准版最小支持2核4 GB规格。
PolarDB-X标准版采用Paxos的多数派复制协议,相比于MySQL的主备复制协议,能保证副本间的强一致性,满足金融级高可用(RPO=0、RTO<10秒)。同时自研Lizard分布式事务引擎,相比于原生MySQL分布式引擎,具有更可靠的高可用和35%左右的性能提升。
企业版(分布式)
PolarDB-X企业版是分布式形态,包含完整的分布式组件(计算节点(CN)、存储节点(DN),日志节点(CDC),列存节点(COLUMNAR)和元数据中心(GMS))。PolarDB-X企业版高度兼容MySQL生态,支持强一致分布式事务和分布式并行查询,支持分布式水平扩展。技术架构如下:
标准版升级至企业版
随着业务的高速发展,PolarDB-X标准版可能会遇到集中式的瓶颈,例如单表过大导致查询效率下降、高并发查询导致数据库长期处于高负载状态、无法满足分析型需求等,此时对数据库做垂直升配,已经无法满足新的需求,且垂直升配后性价比也不高。
PolarDB-X提供标准版升级至企业版的能力,借助分布式特性和HTAP功能来解决集中式数据库上遇到的问题,同时满足使用单机MySQL数据库的体验与性能。
标准版和企业版使用一套DN,升级过程直接为标准版增加CN、CDC、GMS等分布式的组件,无需数据迁移。无论是切换还是回滚,都是一份数据,不用担心数据错乱。
集中式表原地转换成分布式单表,再结合Online DDL的能力,便可以拥有分布式的扩展性。
标准版升级至企业版后,连接串不变,无需业务变更,升级过程仅存在分钟级连接闪断。
透明分布式,深度兼容集中式MySQL生态,无需应用改造。
为了解决分布式特性带来的额外性能开销的问题,PolarDB-X结合表组与分区组的技术,保证了关联数据按照集中式的形态分布,从而对分布式事务和复杂查询进行优化,在单分区场景下对齐集中式形态的性能。
存储资源池与弹性规格
PolarDB-X在面向分布式线性扩展设计上,针对集中式的能力,引入存储池和Locality的概念,可以按需进行分布式扩展。
存储资源池:将DN划分为互不交叉的资源池,支持在单个存储池维度添加或减少DN。
Locality:将数据库中的对象(数据库、表、分区)通过Locality属性关联到不同的资源池。
结合两个典型场景介绍存储资源池与Locality是如何按需进行分布式扩展的:
场景1:如果原来的集中式业务是多租户的SAAS系统,从标准版升级到企业版后,可以通过垂直拆分的方式,将租户打散到不同的存储资源池,每个资源池仍维持单表的形式,实现分布式的扩展,如上图中的存储资源池1所示。
场景2:如果原来集中式电商业务,随着用户量和并发量的增加,需要进行水平拆分,将集中式的数据水平拆分打散到一个资源池的多个DN节点上实现扩展的目标,如上图中的存储资源池3所示。
集中式的数据在分布式形态下,利用Online DDL的能力需进行分布,示意图如下:
原始业务的多个单表:可以继续保持单表的形态,演进为分布式的垂直拆分,通过扩展单个存储池内的分布式节点后,可以实现多个单表在存储池多DN上均衡分布。
原始业务的大表:可以在线变更为分布式表,演进为分布式的水平扩展,通过扩展单个存储池内的分布式节点后,分布式表的分区会自动进行数据均衡调度。
原始业务的多张表:大表在线变更为分布式表,单表继续保持并划分到多个存储池,整体演进为分布式的垂直拆分、水平拆分的组合场景,通过资源扩展实现线性能力。
对于每个DN,由于数据分布的不同,实际对资源的需求也有区别。可以通过数据节点管理对每个DN节点单独升降配,实现灵活的弹性规格,提升整体的资源利用率。
- 本页导读 (1)
- 背景
- 核心能力
- 集中分布式一体化的产品形态
- 标准版升级至企业版
- 存储资源池与弹性规格