PolarDB-X迎来开源后首个重大版本升级,2.1版本新增5大特色功能

简介:2022 年 5 月25日,阿里云开源 PolarDB-X 升级发布新版本!PolarDB-X 从 2009 年开始服务于阿里巴巴电商核心系统, 2015 年开始对外提供商业化服务,并于 2021 年10月正式开源。本次发布是开源后首个重大版本升级,重磅推出在稳定性、生态融合以及易用性上有了长足进步的 2.1 版本,该版本在内核能力上首次对齐商业版,新增 X-Paxos、自动分区、OSS 冷热数据分离等诸多重要特性,并在 MySQL 生态融合、K8S 生态融合方向持续迭代。

2022 年 5 月25日,阿里云开源 PolarDB-X 升级发布新版本!PolarDB-X 从 2009 年开始服务于阿里巴巴电商核心系统, 2015 年开始对外提供商业化服务,并于 2021 年10月正式开源。本次发布是开源后首个重大版本升级,重磅推出在稳定性、生态融合以及易用性上有了长足进步的 2.1 版本,该版本在内核能力上首次对齐商业版,新增 X-Paxos、自动分区、OSS 冷热数据分离等诸多重要特性,并在 MySQL 生态融合、K8S 生态融合方向持续迭代。

点此观看发布会直播回放

PolarDB-X 是一款面向超高并发、海量存储、复杂查询场景设计的云原生分布式数据库系统。其采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,具备企业级、云原生、高可用、高度兼容 MySQL 系统及生态等特点。PolarDB-X 最初为解决阿里巴巴天猫“双十一”核心交易系统数据库扩展性瓶颈而生,之后伴随阿里云一路成长,是一款经过多种核心业务场景验证的、成熟稳定的数据库系统。

新增功能:

本次开源包含5大核心特性,全面提升 PolarDB-X 稳定性和生态兼容性。

01. 高可用的开源能力补齐

分布式一致性算法(Consensus Algorithm )是一个分布式计算领域的基础性问题,其最基本的功能是为了在多个进程之间对某个(某些) 值达成一致(强一致),进而解决分布式系统的可用性能问(高可用),近几年NewSQL和云原生数据库的不断兴起,极大的推动了关系数据库和一致性协议的结合,常见的技术有Paxos和Raft。

2022年4月1号,PolarDB-X 正式开源X-Paxos,基于原生MySQL存储节点,提供Paxos三副本共识协议,可以做到金融级数据库的高可用和容灾能力,做到RPO=0的生产级别可用性,可以满足同城三机房、两地三中心等容灾架构。

Paxos协议对于面向云的架构是非常必要的,云的本质是虚拟化和资源池化,节点的变化和弹性是一个常规操作,我们需要解决面向用户透明运维的能力,任何情况下数据都不能丢、不能错。

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

PolarDB-X 作为一款基于MySQL原生分布式,除了提供基于Paxos RPO=0的金融级容灾能力外,最重要的特性就是分布式的水平扩展,在PolarDB-X 2.1.0版本正式推出新版数据分区表,提供Auto分区模式。

Auto模式的数据库支持自动分区,即创建表时无需指定分区键,数据即可自动在集群内均匀分布;同时也支持使用标准的MySQL分区表语法,对表进行手动分区。结合新版分区表能力,新增支持热点分裂、TTL(Time To Live)分区、Locality亲和性调度等能力,可以让您便捷地享受到分布式数据库的透明式分布、弹性伸缩和分区管理等诸多红利。

具体细节可参考文档:AUTO模式数据库。

基于新版分区表,可扩展提供分布式热力分析能力,样例效果图

热力分析

03. MySQL生态适配加速

PolarDB-X 架构中有一个特殊的CDC(Change Data Capture)组件,其主要用于提供分布式的增量日志获取,作为MySQL原生分布式,对应分布式CDC在设计上也选择全面兼容MySQL Binlog,在PolarDB-X 2.1.0版本我们又进一步完善了与MySQL现有CDC生态的适配和兼容。

首先,PolarDB-X CDC的binlog服务,与canal、maxwell、debezium、Flink CDC等开源MySQL binlog解析组件完成适配认证。其次,PolarDB-X CDC新增replica服务,全面兼容MySQL Replication相关协议,通过MySQL的start slave指令,可以将PolarDB-X作为开源MySQL的备库实时同步数据。

PolarDB-X and Flink CDC

04. 轻量化部署功能完善

PolarDB-X Operator 是一个基于 Kubernetes 的 PolarDB-X 集群管控系统,希望能在原生 Kubernetes 上提供完整的生命周期管理能力,满足用户的轻量化部署。在PolarDB-X 2.1.0版本我们进一步完善了部分运维能力,比如提供Prometheus + Grafana 的监控系统、完善分布式节点升降配、扩缩容、版本升级等能力。

05. OSS冷热数据分离

TTL(time-to-live)

如何将冷数据从InnoDB行存中剥离出来?这是一个令很多开发者头疼的问题。如果使用delete from 语句 + where条件的形式来删除冷数据,很可能会因为扫描行数太多、数据太过分散,而造成锁表,影响整个数据库实例的访问;如果提前按照时间进行分区,再逐个将旧时间分区drop掉,则许多不适合按照时间分区的表将会束手无策。

针对用户反馈的这一实际问题,PolarDB-X 引入了TTL(time-to-live)这一新特性来帮助用户完成冷热数据剥离。用户无需手动维护,而是通过提前指定起始时间、分区大小和过期时间等信息,来完成数据的自动过期。我们在更底部的存储层将每张物理表做进一步的透明分区,数据按照最近的更新时间被集中到一起。

例如对于订单表t_orders,用户按照订单id进行哈希分区。引入了TTL之后,每个分区被进一步透明划分。旧时间分区(图中的2022-01分区)的过期,如同撕掉便利贴一样,在不锁表、不手动分区的情况下完成冷热数据的剥离。

关于TTL的具体使用,可以参考官网文档:什么是TTL功能 ?

高性能查询

当冷数据从主库中剥离出来,归档至OSS存储服务后,我们就得到了一张以OSS为存储载体的归档表。它完全兼容MySQL数据类型和各种查询方式,在低成本、高可用的前提下,能带来与主表一致的使用体验。 为了满足不同用户对历史数据的查询需要,我们在设计上兼顾了点查和复杂分析型查询。对此我们进行了相应的测评。由于PolarDB-X on OSS 使用列存,在报表查询中有天然的优势,因此相比于PolarDB-X on MySQL 行存模式,TPC-H测试成绩有了大幅提升;1亿行数据量下的Sysbench点查测试也显示,归档表可以满足历史数据的查询要求。 在实现以上功能的过程中,最为关键的设计是文件系统、多级缓存、多级索引与查询裁剪。此外还包括列存索引选择、向量化计算、AGG加速等,我们都将在后续的文章中详细介绍。

TPC-H性能测试

规格:

●CPU:6 * 16C

●内存:6 * 128GB

●SF = 100 (TPC-H 100GB)

总耗时约89s (PolarDB-X on MySQL 总耗时 150s)

Sysbench 性能测试

规格:

●压测ECS:1 * 8C32G

●CN:6 * 16C128G

●Sysbench表行数: 1亿

●并发数:100

sysbench性能测试数据如下:

一键迁移

完成了冷热数据剥离后,如何将数据快速归档到OSS上呢?我们基于MySQL标准语法,提供了非常简易便捷的方式,只需要执行一条建表语句:

CREATE TABLE [oss_table_name] LIKE [innodb_table_name] ENGINE = 'OSS' ARCHIVE_MODE = 'TTL'

执行后,OSS表将克隆InnoDB表的表结构,免去用户对归档表结构的设计;同时,冷数据归档表和源表被绑定起来,源表过期的数据将自动导入到归档表中。此后,用户可以像访问普通表一样,通过SQL来完成包括点查、范围查询、复杂分析型查询在内的各种数据访问。

手动强制过期

如果您想要更灵活的过期和归档操作,下列语句可以让您手动过期数据,并将过期数据导入至OSS中:

ALTER TABLE [innodb_table_name] EXPIRE LOCAL PARTITION [local_partition_name]

还有更多特性请点此查看

更详细的Features

新增 支持创建数据库指定建表模式(新的分区表模式与老的分库分表模式),默认是分库分表模式

新增 支持使用 MySQL分区表语法 创建一级分区的分区表,分区策略包括Hash/Range/List等

新增 支持分区表的动态裁剪能力,包括支持分区列条件的常量折叠、区间合并以及前缀查询裁剪等功能

新增 支持分区表的JOIN计算下推

新增 提供分区表的分区管理能力,包括分区的添加、删除、分裂、合并与迁移等功能

新增 提供表组及其他能力(包括表组的创建、删除、变更等),支持分区变更期间JOIN计算下推不受影响

新增 支持全局索引表使用MySQL分区表语法并按Hash/Range/List等分区策略进行分区

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

新增 拆分变更增加支持分区表

新增 新分区表GSI自动拆分会携带主键,可以处理GSI热点问题

新增 支持实例的缩容

新增 支持分区表的TTL及其管理能力(包括调整TTL的初始时间与时间间隔等)

优化 Check Table 指令,支持校验主表分区、索引表分区与列定义等元数据一致性

新增 SQL Advisor支持推荐广播表

新增 支持Instant Add Column功能

新增 支持Explain Statistics拉取优化器优化需要的所有信息

新增 限制cbo的搜索空间,减少复杂查询的优化耗时

优化 部分DDL后台操作的数据校验任务的性能,使GSI/扩缩容DDL变更操作加速

新增 支持兼容MySQL的Replica相关指令

新增 支持存储节点PAXOS三节点集群

新增Replica组件,支持通过change master … 语法的方式将PolarDB-X作为MySQL Slave来消费数据

全局Binlog中支持记录Rows_query_event类型数据,前置条件:需将DN节点binlog_rows_query_log_events参数设置为On

新增 Flink CDC 接入

新增 CR PolarDBXMonitor 用来监控 PolarDBXCluster

新增 Helm Chart polardbx-monitor,包含定制化的 kube-prometheus 和预定义的 Dashboard 用来展示 PolarDB-X 集群监控信息

PXD 工具支持单副本和三副本两种部署模式

PolarDB-X 源码开放地址

计算层:GitHub - ApsaraDB/galaxysql: PolarDB-X is a cloud native distributed SQL Database designed for high concurrency, massive storage, complex querying scenarios.
存储层:GitHub - ApsaraDB/galaxyengine: GalaxyEngine is a MySQL branch originated from Alibaba Group, especially supports large-scale distributed database system.

PolarDB 开源社区介绍

PolarDB 开源社区是阿里云数据库开源产品PolarDB的技术交流平台。作为一款开源的数据库产品,离不开用户和开发者的支持, 大家可以在社区针对PolarDB产品提问题、功能需求、交流使用心得、分享最佳实践、提交issue、贡献代码等。

为了让社区成员可以更方便的交流, 促进数据库行业的发展, 社区会组织线上和线下的meetup, 举办高校、企业的交流活动, 组织技术类的竞技活动等。欢迎广大的数据库爱好者、用户、开发者加入社区大家庭。

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510840.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做ToB软件质量保障的这两年

简介:自己算是阿里的老兵了,从实习开始一直投身在 toB 业务的质量保障领域内,不能说是资深的专家,但所经历的、感受的业务特点和体会还是具有一定的代表性,希望能通过这篇文章,总结一下过往,并能…

成本节省 50%,10 人团队使用函数计算开发 wolai 在线文档应用

简介:人们关注 wolai 独特的功能和舒适的用户的用户体验,更关注实现这些背后的技术架构。在一个晴朗下午,我们邀请了 wolai.com 的创始人马锐拉,跟我们聊聊 wolai 背后的 Serverless 架构。 作者:马锐拉 | wolai.com …

前端质量|基于业务驱动的前端性能有效实践案例

简介:前端的本质价值是什么?作者认为是给用户创造良好的交互体验和抵达率优化应该在转化率之前。那么本文就将和大家分享基于业务驱动的前端性能有效实践案例。 作者 | 钱文玲(悠酱) 来源 | 阿里开发者公众号 一、背景 1.1.前端性能优化的业务意义 前…

走进RDS|说说关系型数据库与Serverless

简介:看到如今Serverless在云计算行业喷薄欲出的态势,像极了《星星之火,可以燎原》中的描述:虽然不能预测未来的发展和变化,但对于云计算来说这是个相对确定的方向。本文将和大家说说关系型数据库与Serverless。 作者 …

六年团队Leader实战秘诀|程序员最重要的八种软技能

简介:笔者在带团队的六年中发现,程序员们在职场都有一个共同的困扰:“好像写代码都没什么问题了,日常工作基本上都是应付业务需求的开发,好像找不到其他的更大的附加价值了,我应该找一些什么样的发力点才能…

宜搭小技巧|学会这一招,数据收集收放自如

简介:应用的「启用」「停用」功能还可以这样用 >> 团建的日子眼看就要到了,为了掌握参加的人数,提前进行车票、房间、餐食的预定,宜小搭计划在周五下班前停止对报名信息的收集。 如何停止我们的应用进行数据收集呢&#x…

阿里云总裁张建锋:“未来不懂低代码就像二十年前不会用word”

11月3日,阿里云智能总裁张建锋在2022云栖大会公布,钉钉上的低代码应用数突破500万,低代码开发者超过380万。张建锋表示,未来80%的应用会由业务人员通过低代码开发。 张建锋提到,一线业务人员通过低代码的方式&#xf…

平行云CEO 李岩:CloudXR ,开启通往元宇宙的通道

简介:一端是算力无穷的云,这也是 CloudXR 的精髓所在。 图:2022阿里云视觉计算私享会现场 5月11日,在“2022阿里云视觉计算私享会”上,平行云CEO李岩为大家带来了题为《CloudXR,开启通往元宇宙的通道》的主…

阿里10年沉淀|那些技术实战中的架构设计方法

简介:上周我写的一篇文章《关于技术能力的思考和总结》引起了大家的关注,好多读者的评论“以写代想、以想促真、以讲验真”,大家的感受很深刻,基于上次的文章,这篇文章我其实更想跟大家聊聊一些常用的思考方法&#xf…

阿里巴巴云数据仓库 MaxCompute 数据安全最佳实践

简介:MaxCompute作为企业级SaaS模式云数据仓库,正在为客户业务及其数据提供持续的安全保护。 MaxCompute 近期对产品的安全能力进行了全面升级 ,结合数据生命周期,针对数据误用、数据滥用、数据泄露、数据丢失等典型数据风险场景&…

阿里平头哥发布RISC-V高能效处理器玄铁C908,打造端云一体生态

11月3日,在2022云栖大会上,阿里平头哥发布全新RISC-V高能效处理器玄铁C908。玄铁C908计算能效全球领先,较业界同性能处理器能效提升超20%,更能满足低碳时代的算力需求,可广泛用于智能交互、多媒体终端、AR/VR、无线通讯…

MaxCompute 公共云多租户设计的技术要点详解及产品实现特色

简介:公共云大数据平台在多租户的设计和实现方式上有所差异。本文主要介绍在公共云大数据平台的多租实现方案中需要考虑的问题和挑战,重点介绍了MaxCompute在计算和存储多租实现上的特点。期望通过这些介绍来让大家了解大数据云平台多租方案需要关注的技…

技术解读 | 智能开放搜索CTR预估模型

简介:本文介绍开放搜索CTR预估模型在个性化排序中的应用与实践 如何评价搜索排序效果? 搜索是用户触达信息最简单直接的方式,是APP、网页必备的功能。如何评价并提升搜索效果一直是搜索领域的常见问题。 一方面,可以基于用户体…

阿里云能耗宝助力华聚公司实现产品绿色升级

客户公司:杭州华聚复合材料有限公司 公司类型:制造业 案例简介:能耗宝“碳足迹在线服务”助力华聚公司产品绿色升级,能耗管理助力厂区实现年度节电17万度,约等于减碳排量120多吨。 2020年9月,国家提出了2…

无影云应用核心技术解读

简介:本文整理自阿里云无影高级技术专家付志超,在阿里云EMR StarRocks无影云应用线上发布会的分享。本篇内容主要分为三个部分: 1. 无影云应用产品简介 2. 无影云应用技术架构 3. 总结&展望 了解更多无影云内容:无影云应用重…

计算就是创造力!阿里云与FIRST影展设立“无影创作奖”

11月3日在云栖大会技术主论坛上,阿里巴巴集团首席市场官董本洪与FIRST影展创始人宋文共同发起了“无影创作奖”。云计算从支持大制作渲染,走向了更多类型片的创作领域。 按计划,无影创作奖将在FIRST惊喜影展上揭晓,为类型片创作者…

一个好的网站logo设计长这样

简介:一个好的网站logo,不仅让用户一眼知道网站品牌传递的信息,还能提高网站专业度和丰富度,增加SEO搜索排名。今天分享下如何设计一款实用的网站logo。阿里云智能logo设计,在线免费体验logo制作:https://l…

怀同行之心,筑信任之基,践数智之行

行路过半,道阻且长 十几年前,许多人还不知道"云"为何物;而现在,我们的日常生活与云计算技术的发展轨迹越发重合。从“双十一”全民购物狂欢日的海量交易支持,到春运铁路网络购票的海量承载,再到…

面向WEB3.0提升存储性能,蚂蚁鲸探底层区块链存储引擎正式对外开放

11月3日,蚂蚁集团数字科技在云栖大会上宣布,其历经4年的关键技术攻关与测试验证的区块链存储引擎LETUS(Log-structured Efficient Trusted Universal Storage),首次对外开放。该产品主要用于可信数据在区块链上的存储&…

如何写出一篇好的技术方案?

近期在写某个项目的技术方案时,来来回回修改了许多版,很是苦恼。于是,将自己之前写的和别人写的技术方案都翻出来看了几遍,产生了一些思考,分享给大家。 我们为什么需要写技术方案?总结下来无非是几点&…