简要介绍:对PolardB-X产品架构的深入解释,以及分布式交易,透明分布式,水平扩展和其他技术内部故事的内部故事。
PolardB-X最初于2009年起起源于ALI Group,用于使用分布式体系结构来替换传统的业务数据库。Ali开发了TDDL分支平板电脑中间部件。在2014年,Ali Group开始完全进入云层,将TDDL升级为DRDS分布式数据库服务,并意识到在线扩展能力和数据拆分的能力。2018年后,国内分布式数据库技术在2018年后输入了一百个争论。阿里在这方面还进行了很多探索。X-DB,PolardB和其他技术集成后,PolardB-X诞生了。
PolardB-X结合了MySQL,NewsQL,Cloud Native DB上的几个数据库概念的本质。它具有云本地分布的特征。底层使用PolardB云本机数据库技术,并且上层使用了许多分布式技术。
PolardB-X使用经典的两层体系结构,分为计算层和存储层。polardb-X通过计算层所使用的polardb-X可以在独立级别的水平上扩展和扩展容量,并具有完整的功能。通过系统,SQL开发了一个SQL自我开发的解析器和优化者之后的分布式执行计划;然后发送到存储节点进行执行;在中间网络传输层中,自定义的RPC协议比传统比传统要高得多。JDBC协议。然后,执行计划将发送到PolardB-X执行引擎进行特定计算。
PolardB-X当前具有多种特征,例如高可用性,高可扩展性和极端弹性。高兼容,HTAP,开放生态学是MySQL生态学中的竞争产品。
如果分布式数据库是为了支持财务转移方案,则必须支持分布式交易,以确保一致性和不异常(例如数据丢失)。通过行业技术,可以归因于以下类别。第一类是基于MySQL的XA技术,以达到提交的两个阶段。缺点是无法保证整体情况,并且无法保证全球快照。第二类是TSO技术实现整体交易订单的全球分布,从而实现了分布式快照。第三个是HLC技术,并且确定限制。第四类是PG中使用的GTM技术。这些技术中的任何一种都无法完美地解决所有方案,它们需要在性能,可用性和可伸缩性方面进行权衡。PolardB-X相信TSO是一项适合公共云的技术和混合云。
PolardB-X基于TSO技术实现了全球分布式交易。第一个问题是如何执行全球时钟,即TSO.TSO将制作分布式交易的序列,并按时间戳顺序排序。第二个问题是如何进行操作。基于MySQL Innodb.polardb-X的分布式交易已经对InnoDB的交易系统进行了深入的转换,并从原始的ReadView交易机制转换为基于时间戳的交易系统。与Timestamp-Bas-Bas-Bas-by-by-closection clim to TSO技术,TSO技术,TSO技术,TSO技术,TSO技术,还可以实现全球一致的分布交易。此外,事务中存在许多技术困难,如何处理长期手动交易并进行全球垃圾回收。
必须用TSO技术解决一个问题 - 通常将数十微秒添加到数百微秒的RT中。尽可能多地由TSO造成的性能损失。
在实现了上述性能优化之后,在Sysbench和TPCC等测试集中的行业产品的性能比较,PolardB-X的性能相对具有竞争力。
透明分布的主要问题是使用分布式数据库的阈值。许多分布式数据库技术听起来不错,但是用户认为很难使用。- 启用系统或某些功能,或者不可用,或者很难调查问题?根据我们在服务用户的经验,用户通常在使用分布式数据库期间遇到以下阈值为了优化分布式交易,以及如何优化慢速查询。因此,我们已经开发了一个透明的分布式项目,以减少用户使用分布式数据库的阈值。
首先,如何制作Shaarding。每个产品具有不同的解决方案。PolardB-X结合了MySQL分区表语法。它与语法中的MySQL列表完全兼容,并使用次要分区来覆盖用户的各种工作负载。Behind这是基于一致性哈希算法,实现分区级别的动态划分,并大大降低了扩展的成本以范围分区为例,从一开始,数据范围为4,000至5,000。当该范围的数据变得更多时,它可以分为多个范围并迁移到多个机器以避免浓缩数据。将这些技术归为PolardB-X可以有效地解决诸如热数据之类的问题。
其次,PolardB-X具有差异化的技术,即其他产品,这是Tableground。它解决的问题是加入,这在Ali的业务场景中非常普遍。如果您不能推动加入,则分布式连接的性能将是在PolardB-X中,多个表按一个分区进行分区,它们将被放置在同一表格组中,因此可以将它们推下来。分区组。
第三,与扩展密不可分的问题是在线DDL。例如,PolardB-X支持单个表,拆分表和分区表。当用户修改表类型时,分区密钥将从买方的ID更改为卖方ID,其背后是在线DDL.polardb-X的技术支持各种在线DDL,包括拆分密钥修改,创建的创建索引,加法和减法等。这些操作可以直接在线执行,这对用户的业务影响很小。
PolardB-X的透明分布式发行版提供了诸如分区表,全球索引,在线DDL等的技术,以便用户的业务可以以非常低的成本访问分布式数据库,并且随着业务的开发,数据库CAN CAN可以也可以完成。
所谓的HTAP在理解PolardB-X时可以在在线数据库中执行复杂的查询,其价值的两个方面有两个方面。一方面,它可以降低用户使用,操作和维护成本的成本。另一方面,它是真实的时间分析,可以从真实的时间数据中获得真实的洞察力。
与PolardB-X的体系结构相对应,您将仅使用读取节点进行负载隔离,简短查询以读取和编写节点以及复杂的查询,以仅读取节点进行执行。因此,中间的智能路由是由优化器的成本实现的。高成本被判断为AP查询,而低成本则根据TP查询进行判断。此外,此架构需要解决的问题是一致的快照。PolardB-X使用TSO技术来实现仅读取节点的分布式交易。
下一个问题是如何提高计算功能和存储功能。
提高计算能力主要是通过MPP并行计算和矢量化计算。Arlier,PolardB-X主要面对的TP场景,将操作员推下操作员,并通过分区切割来询问较少的碎片,以优化TP场景的性能。对技术的需求是非常不同的。特别是,PolardB-X提供了本机MPP支持,可以为计算多个节点的资源提供全面发挥。为了使优化阶段添加到优化器中。在立场 - 单位执行计划之后,将交易所添加到中间的分布式执行计划中,以实现多手机并行。对执行器的特异性,也将有两种执行模式,一个是本地支架的实现-Alone -Alone -alone,另一个是MPP分布式执行。
具体而言,在MPP的平行计算中,PolardB-X进行了两层并联。第一层是节点之间的平行,第二层是计算节点内部的操作。这两层的优点是它可以减少调度费用并减少数据传输开销。此外,PolardB-X也完成了细粒技术,例如内存池,装配阵列和矢量化。它通过矢量化提高了执行器的执行效率,并通过管道化提高了数据实现。这些技术在执行复杂的SQL查询时使PolardB-X具有很高的效率。
此外,它是为了提高存储性能。从技术的角度来看,单独制作并单独列出并不难。困难是制作一个可以实时更新的列。PolardB-X采用编写节点进行存储的方案,仅在节点中使用列,然后使用REDO作为中间的异步复制来实时实现实时列表的更新。基于此体系结构,可以达到排名,存储在高并发撰写下,并且列表受到复杂的询问。c.com与MPP进行了复杂,排名混合,垂直和其他技术,PolardB--X实现了TPC-H场景的5-10倍的性能提高。此结果也将在公共云上推出,因此请继续关注。
PolardB-X可以高度兼容独立的MySQL,从SQL兼容性到交易兼容性再到生态兼容性。在此基础上,用户的阈值通过透明的分布式技术降低,使用户能够快速开始,适应各种用户业务,各种用户业务,,以及各种用户业务,,,以及各种用户业务并通过弹性扩展能力来适应用户的业务变化。HTAP技术将形成差异化的竞争力,以便用户可以从在线数据中获得真实的时间见解。
资料来源:阿里巴巴云