融通未来,“数”启精彩——TiDB助力金融出海线上直播
快出海  > 阿里云  >  阿里云原生分布式数据库PolarDB-X的技术演进

阿里云原生分布式数据库PolarDB-X的技术演进

作者:DistributedCloud
时间:2021-09-24
9月16日,Distributed Cloud|2021全球分布式云大会·上海站隆重召开。在全球分布式云大会不懈布道下,云计算行业对分布式云的关注度愈发高涨,以全球分布式云联盟成员为代表,涌现出了大量分布式云技术和实践成果,为分布式云计算发展夯实了基础。

9月16日,Distributed Cloud|2021全球分布式云大会·上海站隆重召开。在全球分布式云大会不懈布道下,云计算行业对分布式云的关注度愈发高涨,以全球分布式云联盟成员为代表,涌现出了大量分布式云技术和实践成果,为分布式云计算发展夯实了基础。

2021全球分布式云大会为分布式云计算发展再添强大推力,本次大会共设有分布式云主题报告会、边缘云论坛、云原生专题论坛、分布式数据库论坛四大论坛,围绕分布式云、边缘算力、云原生、分布式架构等技术与实践展开。全球分布式云联盟联合阿里云、腾讯云、Google Cloud、中兴通讯、京东云、安迈云、网心科技等国内外分布式云顶尖技术服务商,共话分布式云创新新趋势,共谋云计算变革新未来,共享分布式云计算新红利!

在9月16日下午召开的分布式数据库论坛上,阿里云 数据库技术专家 王欢明发表了题为《云原生分布式数据库 PolarDB-X 的技术演进》的主题演讲。

PolarDB-X是什么?

PolarDB-X最早起源于阿里集团,阿里研发了TDDL分库分表中间件。2014年阿里集团开始全面上云,将TDDL升级成DRDS分布式数据库服务,实现了在线扩缩容以及数据拆分等能力。2018后,国内分布式数据库技术进入一个百家争鸣的局面,阿里在这方面也做了很多探索,经过对X-DB、PolarDB等技术整合,诞生了PolarDB-X。

PolarDB-X结合了harding  On  MySQL、NewSQL、Cloud  Native  DB几种数据库理念的精华,具有云原生分布式的特性,底层使用了PolarDB云原生数据库的技术,上层用到了很多分布式技术。

PolarDB-X 技术架构

PolarDB-X采用经典的两层架构,分计算层和存储层。计算层用的PolarDB-X,可以独立水平扩展、扩缩容,各种能力完备。在整个系统里,一条SQL经过自研的解析器、优化器,得到分布式的执行计划;然后发送到存储节点执行;在中间的网络传输层,使用了定制的RPC协议,效率远高于传统的JDBC协议;之后执行计划会发送到PolarDB-X的执行引擎里去做具体的计算。

PolarDB-X目前具有高可用、高可扩展、极致弹性,高兼容、HTAP、开放生态,在MySQL生态里是一款具有竞争力的产品。

PolarDB-X的几个关键技术

分布式事务如何实现ACID?

如果分布式数据库要支持金融转账场景,就必须支持分布式事务,才能保证一致性,不会发生数据丢失等这些异常。纵观业界技术,可以归成几类,第一类是基于MySQL的XA技术,实现两阶段提交缺点是不能保证全局一致,不能保证全局快照。第二类是TSO技术做全局分配,实现给全局的事务定序,从而实现分布式快照第三是HLC技术,也存在一定的局限性。第四是在PG里比较多使用的GTM技术。这几项技术目前没有一个能完美解决所有场景,都需要在性能、可用性、扩展性方面去做权衡。PolarDB-X认为TSO比较契合公有云以及混合云的技术。

PolarDB-X基于TSO技术实现全局分布式事务。第一个问题是如何去做全局时钟,也就是TSO。TSO会给分布式事务做定序,按照时间戳的顺序去做排序。第二个问题是如何基于MySQL的InnoDB做分布式事务。PolarDB-X对InnoDB的事务系统做了深度改造,从原本的ReadView的事务机制改造成基于时间戳的事务系统。有了基于时间戳的事务系统之后,结合TSO技术,就可以实现全局一致的分布式事务。除此之外,事务里还有很多的技术难点,如何处理长写事务以及做全局的垃圾回收。

用TSO技术有一个必须要解决的问题——通常会增加几十微秒到几百微秒的RT。因此,PolarDB-X实现了一阶段提交、2PC的异步提交等优化,能够尽量克服TSO带来的性能损失。

实现上述性能优化之后,经过与业界产品在sysbench和TPCC等测试集做了性能对比,PolarDB-X的性能相对来说有竞争力。


透明分布式如何优化易用性?

透明分布式主要解决的问题是分布式数据库的使用门槛。很多分布式数据库技术听起来很,但用户却认为很难用。比如用户常常困扰,为什么某些场景的性能会不如一个单机系统,或者某些功能不具备,或者问题难以排查?从我们对服务用户的经验来看,用户在使用分布式数据库过程中通常会遇到几个门槛,即如何选择拆分键、如何优化分布式事务、如何优化慢查询。因此,我们研发了透明分布式的项目,试图降低用户使用分布式数据库的门槛。

第一,如何做Sharding。每个产品都有不同的解决方案,PolarDB-X结合了MySQL分区表语法,从语法上完全兼容MySQL列表,使用二级分区覆盖到用户的各种Workload。这背后是基于一致性哈希算法,实现分区级的动态分裂,大大降低扩缩容的代价。以Range分区为例,一开始可能是4千到5千这个数据范围,当这个Range的数据变多之后,它可以分裂成多个Range,迁移到多个机器上,避免数据过于集中。将这些技术融入PolarDB-X中,能够有效解决热点数据等问题。

第二,PolarDB-X做的跟其他产品有差异化的技术,是TableGroup。它解决的问题是Join下推,这是阿里的业务场景中非常常见。如果不能做Join的下推,做分布式Join的性能会比较差。在PolarDB-X中,多个表按一个分区方式做Partition,它们就会放置于同一个TableGroup,因此就可以实现Join下推。当然对应的,一个TableGroup中的分区分裂、迁移,都需要以PartitionGroup为单位了。

第三,扩缩容离不开的一个问题,就是Online DDL。例如PolarDB-X支持单表、拆分表、分区表,当用户对表类型进行修改,把分区键从买家ID改成卖家ID的时候,背后就是用Online DDL的技术。PolarDB-X支持多种的Online DDL,包括拆分键修改、创建索引、加减列等等,这些操作都可以在线上直接执行,对用户业务影响非常小。

PolarDB-X的透明分布式提供了分区表、全局索引、Online DDL等技术,使得用户的业务能够以很低的成本接入到分布式数据库中,并且后续随着业务的发展,数据库还可以做通过Scale-Up或者Scale-Out的方式提高性能。

HTAP技术如何提高分析能力

所谓HTAP,在PolarDB-X的理解中,即能否在线上数据库中执行复杂查询。它的价值有两方面,一方面是能够降低用户的使用成本、运维成本,另一方面,就是实时的分析,能够从实时数据获得实时洞察。做HTAP面对的技术挑战有几方面,分别是负载隔离、计算能力、存储能力。

对应到PolarDB-X的架构,会通过只读节点做负载隔离,简单查询发到读写节点,复杂查询发到只读节点执行,因此这两种负载能够得到较好的隔离,不会相互影响。这中间的智能路由是通过优化器的代价估算去实现,代价高的判定为AP查询,代价低的判定TP查询。除此之外,这种架构还需要解决的一个问题是一致性快照,PolarDB-X通过TSO技术,实现了只读节点的分布式事务。

接下来的问题是如何提升计算能力和存储能力。

提高计算能力主要通过MPP并行计算、向量化计算等方式。此前PolarDB-X主要面向TP场景,做算子下推,以及通过分区裁剪尽量查询更少的分片,优化TP场景的性能。而面对AP场景,需要的技术则很不一样。具体来说,PolarDB-X提供了原生的MPP支持,能够充分发挥多个节点的资源进行计算。为此,优化器里中增加了MPP优化阶段,在单机执行计划之后,中间加入Exchange,变成分布式的执行计划,实现多机并行。具体到执行器,也会有两种执行模式,一种是本地单机执行,另一种是MPP分布式执行。



具体来看,在MPP并行计算中,PolarDB-X做了两层的并行,第一层是节点之间的并行,第二层是计算节点内部的运行。分为两层的好处在于能够减少调度开销,减少数据传输的开销。除此之外,PolarDB-X还做了内存池化、流水线化、向量化等精细化的技术,通过向量化提高执行器的执行效率,通过流水线化增加并行度减少数据物化。这些技术使得PolarDB-X在执行复杂SQL查询时具有较高的效率。


除此之外,就是提高存储方面的性能。从技术角度看,单独做一个行存、列存都不难,难的是做一个能够实时更新的列存。PolarDB-X采用的方案是在写入节点用行存,在只读节点用列存,中间通过redo做异步复制,实现列存的实时更新。基于这样的架构,就可以实现行列混存,行存承担高并发写入,列存承担复杂查询。结合MPP、行列混存、向量化等技术,PolarDB-X实现了TPC-H场景的510倍的性能提升。这一成果也即将在公有云上线,敬请期待。

总结

PolarDB-X能够高度兼容单机MySQL,从SQL兼容到事务兼容到生态兼容。在此基础上,通过透明分布式的技术降低用户使用门槛,使得用户可以快速上手,适配各种用户业务,并通过弹性扩缩容的能力,适应用户的业务变化。而HTAP技术,将形成差异化的竞争力,使得用户能够从在线数据中获得实时洞察。

立即登录,阅读全文
版权说明

本文内容来自于亚太CDN产业联盟,本站不拥有所有权,不承担相关法律责任。文章内容系作者个人观点,不代表快出海对观点赞同或支持。如有侵权,请联系管理员(hj@kchuhai.com)删除!

相关文章
阿里云张彭城:阿里高性能网络探索与实践
阿里云张彭城:阿里高性能网络探索与实践
9月25日,2021中国智能网卡研讨会在北京隆重召开。本届大会由“科创中国”未来网络专业科技服务团指导,江苏省未来网络创新研究院、网络通信与安全紫金山实验室联合主办,SDNLAB社区承办。阿里云基础设施事业部高性能网络团队高级技术专家张彭城先生带来了演讲“阿里高性能网络探索与实践”。
IT之家
6天前
重磅!阿里云MongoDB 5.0发布,速来围观新特性
重磅!阿里云MongoDB 5.0发布,速来围观新特性
2021年9月29日下午,阿里云数据库与MongoDB共同发布了阿里云MongoDB 5.0。MongoDB于2021年7月中发布最新5.0版本,阿里云MongoDB率先跟进官方最新版本能力,快速开发上线支持对应版本的云服务产品形态。
代码派
2021-10-02
阿里云发布全新容器服务ACK Anywhere:四大核心能力、统一集群管理
阿里云发布全新容器服务ACK Anywhere:四大核心能力、统一集群管理
云计算发展如火如荼,容器服务越来越重要,特别是5G、AR、AIoT 等场景在推动新一代云架构的演进,容器重塑了云的使用方式。日前阿里云发布了新一代容器服务ACK Anywhere,带来了计算无界、承载无限的新体验。
快科技
2021-10-02
阿里云:数据库未来的发展趋势
阿里云:数据库未来的发展趋势
李飞飞说,云数据库已经成为数据库最重要的发展方向,从国际国内数据库产业的发展来看,这个趋势已经非常明显。在他看来,在新技术大变革时期,中国数据库市场也一定会发生一系列显著的变化。
李飞飞
2021-09-27
阿里云盘古入选世界互联网领先科技成果 为国产云系统关键技术之一
阿里云盘古入选世界互联网领先科技成果 为国产云系统关键技术之一
凤凰网科技讯 9月26日消息,乌镇世界互联网大会?互联网发展论坛上,阿里云自主研发的分布式存储系统“盘古”入选世界互联网领先科技成果,盘古解决了超大规模下数据不丢不错和高可用的难题,满足数字经济对海量存储和快速存储的需求 ,这也是第一次存储技术入选世界互联网领先科技成果。
凤凰网
2021-09-27
扫描关注获取更多 阿里云 的相关信息
服务商推荐 更多 >
北京云联万维技术有限公司
脉时云
脉时云是领先的出海融合云服务商,是Google Cloud北亚区规模最大的Premier Partner和亚马逊云科技APN Advanced Partner,累计服务超过100家中国出海企业,核心团队来自于美团、滴滴、豌豆荚、中国电信等公司,肩负连接全球用户与中国应用的使命。
云服务
3YData
3YData
海内外ASA代投、ASO优化等服务
推广
F5 Networks
F5
出海无国界,云端新引擎 —— 云原生时代的全球智能应用安全交付专家
云服务
Sanuker Inc. Limited
Sanuker
Sanuker是一家专注为中国出海品牌打造对话式商务体验的服务商,我们2017年有幸开始成为Messenger的开发者合作伙伴,并在2019年成为WhatsApp全球商业方案的提供商,为各大品牌设计并开发售前,转换和售后的对话式商务体验。
推广数据服务
北京蓝色光标数字传媒科技有限公司
蓝瀚互动
专注于为出海企业提供全套价值链服务,包括海外市场洞察、品牌营销策略、创意设计、广告优化、 账户管理、全球KOL营销、粉丝页运营等一站式整合营销服务,满足出海广告主的多元化需求。
推广
杭州云片网络科技有限公司
云片
作为全球移动通讯系统协会GSMA会员单位,云片一直以来积极拓展全球通讯业务。目前云片短信业务覆盖全球217个国家和地区,与全球1000+运营商建立了合作。云片凭借创新解决方案和专业的客户服务,一直领跑行业。在国际服务方面,支持【国际短信】【国际彩信】【全球语音验证】【行为验证】【OTP】【一键登录】
云服务
扫码登录
打开扫一扫, 关注公众号后即可登录/注册
加载中
二维码已失效 请重试
刷新
账号登录/注册
小程序
公众号
商务合作
投稿采访
出海管家
专区推荐