当前位置: 首页 > 网络应用技术

PolardB-X已升级开源后的第一个主要版本,2.1版本添加了5个主要功能

时间:2023-03-05 16:58:41 网络应用技术

  简介:2022年5月25日,阿里巴巴云开源Polardb-X升级以发布新版本!PolardB-X自2009年以来已为阿里巴巴电子商务核心系统提供服务。2015年,商业服务于2015年开始,并正式开放。在2021年10月,此版本是升级后的第一个主要版本。它已经在稳定性,生态整合和易用性方面启动了2.1版的2.1版本。有许多重要功能,例如自动分区和OSS热和冷数据分离,并继续迭代MySQL生态融合和K8S生态融合方向。

  2022年5月25日,阿里巴巴云开源PolardB-X升级以发布新版本!PolardB-X自2009年以来已为阿里巴巴电子商务核心系统提供服务。2015年,商业服务于2015年开始,并于10月正式开放。2021年。此版本是升级后的第一个主要版本。它已经在稳定性,生态整合和易用性方面启动了2.1版的2.1版本。有许多重要功能,例如自动分区和OSS热和冷数据分离,并继续迭代MySQL生态融合和K8S生态融合方向。

  单击此处观看新闻发布会的直播:https://developer.aliyun.com/topic/polardbx_release?SPM = A2C6H.12873639.Artail.7.78D64361T1KIOT

  PolardB-X是一种云本机分布式数据库系统,用于超高并发,大量存储和复杂的查询场景设计。它采用共享和存储计算分离体系结构,支持水平扩展,分布式交易,混合负载和其他功能。它具有企业,云主要,高可用性,高度兼容的MySQL系统和生态的特征。PolardB-X最初是为了解决阿里巴巴Tmall的“双重核心”核心交易系统数据库的可伸缩性瓶颈。后来,借助阿里巴巴云,这是一个由各种核心业务方案验证的成熟且稳定的数据库系统。

  新功能:

  该开源包含5个核心特征,可全面提高PolardB-X稳定性和生态兼容性。

  01.高度可用的开源功能补充

  分布式一致性算法(共识算法)是分布式计算领域的基本问题。它最基本的功能是在多个过程之间达到一个(某些)值的一致性(强),然后求解解决方案的分布式系统的可用性能(高可用)。近年来,NewsQL和Cloud Native数据库的持续增长极大地促进了关系数据库和一致性协议的结合。常见技术包括Paxos和Raft。

  2022年4月1日,PolardB-X基于本地MySQL存储节点的正式开放源X-Paxos提供了PAXOS三副本共识协议,可以实现财务级别数据库的高可用性和灾难恢复能力,并实现生产的生产RPO = 0生产。级别的可用性可以符合灾难恢复结构,例如同一城市和三个地方的第三座机舱。

  PAXOS协议对于面向云的体系结构非常必要。云的本质是虚拟化和资源汇总。节点的变化和弹性是常规操作。我们需要解决用户透明操作和维护的能力。无论如何,数据不能是data。lost,没有错。

  02.分布式水平扩展功能升级

  PolardB-X作为MySQL本地分布,除了基于Paxos RPO = 0提供财务水平的灾难容量,最重要的功能是分布式水平扩展。新版本的数据是在PolardB-X 2.1.0版本中正式启动的,分区表提供了自动分区模式。

  自动模式数据库支持自动分区,也就是说,在创建表时,无需指定分区键,并且可以在群集中自动分发数据。同时,它还支持使用标准MySQL分区表语法来手动区分该表格,并用新版本的分区表容量,对热拆分的新支持,TTL(时间到实时)分区,Local affinity调度和其他功能可以使您可以轻松地享受分布式数据库的透明分布,弹性望远镜和分区管理,以及许多其他功能。

  有关具体详细信息,请参阅文档:自动模式数据库:https://help.aliyun.com/document_detail/416411.html?SPM = A2C6H.12873639.ARTIC.10.78D64361RM2RM2

  根据分区表的新版本,扩展提供了分布式的热分析功能,样品效果图

  热分析

  03. MySQL生态适应加速度

  PolardB-X体系结构中有一个特殊的CDC(更改数据捕获)组件。它主要用于提供分布式增量日志获取。作为MySQL天然分布式公式,相应的分布式CDC还选择了design.in polardb-x 2.1.0中的mySQL binlog,我们进一步改善了现有CDC生态系统与MySQL的适应性和兼容性。

  首先,PolardB-X CDC的Binlog服务,带有开源MySQL Binlog解析组件,例如Canal,Maxwell,Debezium,Flink CDC等MySQL复制相关协议。通过MySQL的开始从说明,PolardB-X可以用作开源MySQL准备数据。

  PolardB-X和Flink CDC

  04. Merced轻型部署功能

  PolardB-X运算符是基于Kubernetes的PolardB-X群集控制系统。它希望在本地Kubernetes上提供完整的生命周期管理能力,以满足用户的轻量级部署。在Polardb-X 2.1.0中,我们进一步提高了一些操作和维护功能,例如提供Prometheus + Grafana的监视系统,分布式节点,扩展容量和版本升级的升级。

  05. OSS热数据分离

  TTL(寿命时间)

  如何从InnoDB中剥离冷数据?这是许多开发人员的头痛。如果您使用delete delete+ delete+ were decorder delete deled delect删除冷数据,则扫描线可能太多了,数据太分散了,这将导致锁定仪并影响整个数据库实例的访问。当旧时间分区一一删除时,许多不适合时间分区的手表将是无助的。

  为了响应这种实际的问题反馈,PolardB-X引入了TTL(持续时间)的新功能,以帮助用户完成热和冷数据剥离。用户不需要维护手动维护,而是完成了自动维护通过指定开始时间,分区大小和到期时间到期。在底部存储层的底部,每个物理表的进一步透明,并且根据最近的更新时间集中数据。

  例如,对于订单表T_orders,用户根据订单ID进行哈希区进行哈希区。引入了TTL后,每个分区都进一步分配。旧时间分区的到期(图中的2022-01分区)就像撕下方便的贴纸,并在不锁定仪表或手动分区的情况下剥离热和冷数据。

  关于TTL的特定用法,您可以参考官方网站文档:什么是TTL函数?

  高性能查询

  当将冷数据从主库中删除和OSS存储服务的存档时,我们将获得基于OSS的存档表,因为存储载体。它与MySQL数据类型和各种查询方法完全兼容。在低成本和高可用性的前提下,它可以为主要手表带来一致的使用经验。为了满足不同用户中历史数据的查询,我们已经考虑了设计中的检查和复杂的分析查询。在这方面进行了相应的评估。由于OSS上的PolardB-X使用列,并且在报告查询中具有自然优势,与MySQL存储模式下的PolardB-X相比,TPC-H测试结果得到了极大的改善。Sysbench在1亿数据量数据量的数据金额检查测试中还表明,存档表可以满足历史数据的查询要求。在实现上述功能的过程中,最关键的设计是文件系统,多 -级别的缓存,多级索引和查询切割。此外,它还包括选择索引,矢量化计算,AGG加速度等,我们都将详细介绍后续文章。

  TPC-H性能测试

  规格:

  ●CPU:6 * 16C

  ●内存:6 * 128GB

  ●SF = 100(TPC-H 100GB)

  总时间约为89(MySQL上的PolardB-X总计150s)

  Sysbench性能测试

  规格:

  ●ECS:1 * 8C32G

  ●CN:6 * 16C128G

  ●Sysbench桌线:1亿

  ●并发数:100

  Sysbench性能测试数据如下:

  一个键迁移

  完成热和冷数据后,如何将数据快速存档到OSS?我们根据MySQL标准语法提供了一种非常简单简便的方式。我们只需要执行表 - 构建语句:

  执行后,OSS表将删除ClonoDB表的表结构,以避免用户设计表结构的设计。同时,冷数据存档表和源表是绑定的,源表的过期数据将自动导入到档案表中。然后,由于用户可以完成各种数据访问,包括点检查 - 检查点 - 检查,范围查询,以及复杂的分析查询,例如访问普通表。

  手动强迫到期

  如果您想要更灵活的到期和归档操作,以下句子允许您手动到期数据并将过期的数据导入OSS:

  还有更多功能,请单击此处查看

  更详细的功能

  新添加了数据库指定的表 - 构建模式(新的分区表模式和旧分支表模式)的创建,默认为子分类表模式

  新支持支持使用MySQL分区表语法来创建第一个级别的分区表。分区策略包括哈希/范围/列表

  新提高了分区表的动态剪裁功能,包括恒定折叠,间隔合并和前缀查询分区条件的切割

  新添加的加入分区表的计算以推

  在分区表中添加了分区管理功能,包括加法,删除,部门,合并和迁移的功能

  新添加了表组和其他功能(包括表组的创建,删除,更改等),并支持在分区更改期间加入计算的推动。

  使用MySQL分区表新增加了全局索引表的地球仪,并根据诸如哈希/范围/列表之类的分区策略

  新的自动拆分支持支持分区表语法的使用

  新的额外拆分更改增加了支持分区表

  新添加的新分区表GSI自动拆分将带有主要钥匙,可以处理GSI热点

  对实例收缩的新支持

  新提高了分区表的TTL及其管理功能(包括调整TTL的初始时间和时间间隔等)

  优化检查表指令,支持元数据的一致性,例如主分区,索引表分区和列定义

  新的SQL顾问支持推荐的广播表

  新增加了即时添加列的功能

  新添加了解释统计信息以绘制优化器所需的所有信息

  新增加了CBO的搜索空间,减少了复杂查询的优化时间

  优化某些DDL背景操作的数据验证任务的性能,以使GSI/扩展能力DDL更改以加速

  新添加了与MySQL兼容的副本相关说明

  对存储节点PAXOS的新支持三节点群集

  新的副本组件将PolardB-X作为MySQL从属从Change Master ...

  全局BINLOG支持Records_Query_event类型数据,正面条件:设置DN节点binlog_rows_query_query_log_events参数to on

  新的Flink CDC访问

  新的CR polaldbxmoniror用于监视polardbxCluster

  新的Helm Chart PolardBX-Monitor,包括定制的Kube-Proometheus和预定的仪表板,以显示PoladeB-X群集监控信息

  PXD工具支持单复制和三个副本部署模式

  polardb-x源开放地址

  计算层:github -apsaradb/galaxysql:polardb -x是云本机分布式SQL数据库,旨在高并发,大量存储,复杂的查询方案。

  存储层:github -apsaradb/galaxyengine:galaxyengine是一个源自阿里巴巴组的mysql分支,尤其是支持大型-scaledributabasem。系统。

  Polardb开源社区简介

  Polardb开源社区是阿里巴巴云数据库开源产品的技术交换平台。作为开源数据库产品,它与用户和开发人员的支持密不可分。您可以在社区中提出问题,功能要求,交流经验,分享最佳实践,提交问题,贡献代码等。

  为了允许社区成员更方便地交流并促进数据库行业的发展,社区将组织和离线聚会,组织大学和企业交流活动,并组织技术竞争活动。欢迎开发人员加入社区家庭。

  原始链接

  本文是阿里巴巴云的原始内容,未经许可就无法重印。

  原始:https://juejin.cn/post/7101950560722485284