生而不凡:PolarDB将云原生进行到底

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: PolarDB 在其5周年之际,在2022年云栖大会上发布了多个重要功能。这些功能进一步完善了PolarDB的产品形态,提供了支持客户各种需求的能力。本文是PolarDB 云栖大会演讲的记录和进一步演释。让大家更好的认识PolarDB。

生而不凡:PolarDB将云原生进行到底

 

杨辛军Jimmy Yang

阿里巴巴集团研究员

PolarDB for MySQL产品部负责人


image.png


今年是PolarDB诞生5周年,经过5年的快速发展,PolarDB线上运行核数突破500,000核,服务上万家商户,逐步成为了一个成功的商业数据

AWS Aurora Google AlloyDB 类似,PolarDB阿里云基于 MySQLPG开发的升级版云原生数据库,实现了MySQLPG的完全兼容,支持MySQL/PG的无缝迁入和迁出另一方面,PolarDB一直注重于云原生数据库的演进,在架构层面进行了大量的改进。PolarDB拥有业界最为高效和稳定的物理复制能力,保证集群内各节点间数据高效同步,以及大压力场景下全球部署的全球数据库数据的秒级复制。同时,PolarDB充分利用新硬件的新特性,赋能高效的计算存储分离架构,是业内首批大规模使用Intel OptaneRDMA的云数据库。近年来PolarDB仍不断在云原生方面发力,例如在业界首次提出三层分离架构,在计算存储分离的基础上,进一步开发了分布式内存池,做到计算,内存,存储三层分离。将共享资源数据库的弹性能力和资源利用能力发挥到极致。PolarDB有相当多的一部分的能力和研究是领先于业界的我们每年都会在数据库顶会上发表论文,与学术届/工业界同行们分享我们研究和商业化成果。


image.png

上图为PolarDB最新的架构图PolarDB 后续将坚持一体化和模块化建设。

PolarDB存储分离以及物理复制方面已经非常成熟因此逐渐开始往另层次发展之前我们支持读写节点和只读节点两种计算节点。通过过去几年的不断努力,今年我们发布了多个新的计算节点,包括HTAP节点X-engine节点多写节点AI节点等。这些计算节点可以进行自由搭配和转换,节点也可自动升配和降配,适配客户需要的应用场景。通过这些能力,PolarDB真正实现了水平与垂直两个方向弹性伸缩(Scale out & Scale up)。同时,PolarDB不但可以实现计算节点自由搭配,我们还通过三层分离架构支持了分布式内存池和分布式存储池,提供资源的极致共享和弹性。同时,这些节点可以如同“乐高积木”般自由搭配,可以搭建出简单的小屋或者豪华大宅,满足各种客户的不同需求。

image.png

PolarDB是共享资源的云原生数据库对资源硬件的能力和先进性非常关注。我们充分利用新硬件实现软硬一体化,将硬件的红利分享给用户

今年,PolarDB实现了两种硬件层面的升级。其一SmartSSD,它SSD存储设备上搭载了FPGA芯片,并通过这些专用芯片实现了数据的透明压缩,以及数据在SSD上的精细化调度和资源回收,实现了全栈2.0-3.0的压缩比。同时,如上图左下角,依赖于强悍的硬件压缩能力,Smart-SSD压缩操作对整体读写延迟的影响非常小于普通/高性能云盘继续保持相当大的性能优势。此外,PolarDB通过数据压缩能力可以将存储售价降低50%,让利给用户。在后续的演进中,新一代的SmartSSD还可以实现对数据的高效加解密操作,PolarDB 将利用该能力提供ON-SSD数据的全加密保证。


image.png

另一个硬件升级是PolarDB引进了100G RDMA 网络对于PolarDB而言,RDMA 网络是把各个节点耦合起来的重要部件,是“乐高”上节点耦合的“触点”。我们之前一直使用25G RDMA,升级到更大带宽的100G RDMA后,我们能够把更多的信息直接通过高速网络更快地传输到其他节点。具体的一个例子是PolarDB的“高性能全局强一致”功能大部分云数据库,比如AWS Aurora只支持跨节点查询的最终一致性,而不支持read-after-write 的强一致性。 也就是说,当用户使用这些数据库,数据写入到读写主节点(RW)后,如果马上从从节点(RO) 读,由于写复制的延迟问题,读节点不一定能够读到最新的数据。 要做到全局一致性, 我们首先需要要保证数据的快速复制, 其次要保证主从节点同步更多的事务和时间戳信息。

PolarDB之前通过PolarStore共享存储进行日志的同步, 现在因为有了更大带宽的网络,可以直接通过RDMA网络同步日志信息,大大减少了数据复制延迟。 另一方面,PolarDB通过细粒度的事务跟踪系统,通过RDMA在节点间进行了大量事务和时间戳信息的快速同步,在最小信息量同步的情况下保证了从节点上的read-after-write一致性读能力,这大大提高了RO节点的利用率,大幅提升全局一致性读的性能,也提给用户更丰富更可靠的使用场景


image.png

PolarDB今年一个最重要的发布是推出了HTAP功能。 通过In-Memory Column IndexIMCI),PolarDB 开始支持列存数据格式以及轻量的分析能力。 PolarDB在产生行存日志的同时,对选中的列产生定量的列存日志,并通过高效的物理复制能力,在HTAP 节点恢复出列存数据, 便于HTAP节点内置的高效列存执行引擎进行复杂的分析查询和其他产品(例如MySQL Heatwave)不同, PolarDB具有非常高效的物理复制能力,并且保留了大量事务信息,节点间的延迟非常低,做到了真正的实时查询。另外,其他竞对产品同步往往需要打开binlog,这个直接影响了主节点性能(达20-40%),而PolarDB 的物理复制对主节点性能没有直接影响。同时,PolarDB列存数据还自带事务信息,能够支持行列存的一致性查询。用户只需要像使用普通MySQL一样,就能享受到快速列存数据查询带来的性能提升。这个系统真正一站式地满足了客户的OLTPOLAP需求。

值得注意的是,PolarDB IMCI 的性能也相当优秀,TPCH 100G 性能和友商AAurora)相比提升了近100倍, 和友商BOB) 相比提升了近25倍, 和友商C TiDB/TiFlash) 的列存查询相比提升了近3倍。

 

image.png

在分析查询方面,PolarDB 不但在列存上面发力,在行存的查询加速方面也有长足的进步。PolarDB的单节点并行查询已经远远领先于一些竞对,包括AWS Aurora。 今年PolarDB 更上一层楼,发布了跨节点弹性并行查询功能(elastic PQ)。 ePQ的发布进一步提升了性能的水平扩展性,拉开和其他MySQL系列产品在分析能力方面的差距。


image.png

上面左图显示了ePQ 通过432节点的并行查询结果,结果显示整体执行性能MySQL提升60倍,单条执行性能最大提升150倍。右图显示了ePQ针对TPCH 1TB多节点查询的性能达到了线形提升的效果。 同时另外一个例子是针60亿+大表的分组聚集,ePQ执行时间从单线程的8小时缩短到小于60s 16节点 16 X 16 = 256 并行)


image.png

PolarDB for MySQL今年的另一个重磅商业化发布是“库表级多写”。

PolarDB之前一直是一写多读架构:一个集群只有一个读写主节点(RW), 但可以有115个读节点,所以在读能力上有足够的水平扩展能力。但是在一些场景下,用户希望PolarDB对写能力也有水平扩展能力,同时多个写节点之间可以提供一定的资源隔离能力。在这个需求下,我们支持了库表级多写,一个PolarDB可以有多个读写主节点。每个主节点管理多个库、表,但是每个表会“绑定”到一个主节点。 所有关于这个表的写操作都会被PolarDB Proxy 引导到它的读写主节点。相比share-nothing的分布式数据库,库表级多写优势在于共享存储架构,每个节点可以看见所有数据,因此,增加节点减少节点时无需对数据进行跨节点迁移,拥有极佳的性能力。即使节点增减,数据也可以快速流动到不同节点,无需进行数据的重复迁移,实现秒级的横向扩展。

另外,它实现了主互备的能力,每个节点都是其他节点的备节点,既是备节点也主节点,这极大地提高了节点的利用率。普通的主备架构升级到“库表级多写”后,可以极大地降低数据库成本。

image.png

大家可能都比较熟悉Oracle RAC 架构下的行级多写能力,相比于RAC,库表级多写还是一个粗粒度的多写解决方案。因为要处理大量的数据多节点一致性问题,如何实现这类的行级多写能力并保证水平扩展性一直是工程上的巨大挑战。PolarDB 通过三层分离架构,借助全局内存池以及Polar Fusion 等组件成功地实现了行存多写下的事务、锁、缓存信息的全局协调,实现多个写节点的行级并发写入,突破了单点写入瓶颈

image.png

上图为阿里云PolarDB 行级多写AWSAurora Multi-Master 功能的性能对比。我们可以看到,Aurora MM4个节点就开始频繁crash,无法完成多节点冲突写的测试。而PolarDB 4节点冲突写下依然具有非常不错的扩展性。在无冲突写场景,PolarDB行级多写可以scaling 16个节点,而Aurora MM最多只支持4个节点,水平扩展性较差。上面右图是8节点的性能表现,PolarDB的性能遥遥领先于Aurora MM

image.png

PolarDB的全球数据库上线2年以来,已经成为许多业务跨域灾备的首选方案。同时,PolarDB全球数据库利用独有的并行物理复制技术,其复制稳定性和速度都是全球领先的。在大压力场景下,PolarDB在任何机房写入的数据都可以保证在2秒内被全球部署的其它PolarDB读取。所以PolarDB也经常被用户用来满足全球数据复制和就近读的业务需求。PolarDB现在仅支持少量的全球写,写入的SQL会被Proxy转发到主region的主节点执行,存在一定的跨域延迟。 但是,很多用户希望PolarDB支持更强的全球就近写能力,数据可以进行多向同步,做到真正的跨域多读多写。基于物理复制技术的PolarDB表级多写技术的研发也接近尾声,在未来几个月内我们将上线这一就近写功能,满足更多客户的全球业务部署需求。

 

image.png

PolarDB 在今年1月上线了一个LSM treeLog Structure Merge tree)架构的引擎:X-Engine。相比于传统基于B-tree架构的引擎(例如MySQL InnoDB), LSM tree将压缩的块数据更高效地packSSTable file中,具备更高的压缩率。所以,PolarDB X-engine 作为一个高压缩引擎,可以帮助用户存储相对更“冷”的数据,从而节约存储成本。

image.png

上图显示了在集团业务场景(淘宝),用户使X-Engine进行压缩后,实现了3.5-7的压缩另外在写入性能方面,相较于PolarDB原生引擎,X-Engine性能略有降低但是比较相近。X-engine 是PolarDB 提供给用户降本增效的一个利器,PolarDB 支持“双”引擎同时在线,用户在使用高效的PolarDB default 引擎的同时,可以将相对“冷”的,不常用的数据迁移到X-engine上。


image.png

云数据库另一个重要特性是资源池化,用户希望PolarDB提供资源的弹性分配和按量付费功能。在PolarDB Serverless功能发布前,PolarDB 的存储PolarStore已经具备存储按需分配和按量付费能力。但是每个计算节点的CPU核数和内存容量是固定的。用户在业务压力增大时可以进行升配,但是需要用户手动触发。PolarDB Serverless提供了自动智能探测,以及更为迅速的CPUmemory变配能力,做到了单机秒级探测和无中断秒级弹升/降。另外,如果单机资源被占或者资源不足,PolarDB还可以通过链接保持、Hot BP等技术支持横向节点弹升,近乎无感地增/减节点来适配用户需求。

image.png

上图可以看出,PolarDB Serverless能够根据压力(QPS增加而自动提升PCU数量。压力停止后,PCU逐渐降低。左下角的图显示单节点规格达到上限后,可通过自动增加只读接节点来应对突发压力,提升集群性能。

image.png

自从诞生起,PolarDB一直在性能方面进行持续优化。过去一年以来,PolarDB通过针对云原生架构全路径深度优化、高性能存储引擎优化以及高性能索引PolarIndex单机性能实现了大幅升,持续拉开和其他竞争对手的距离

image.png

PolarDB在一些基础功能上也在持续演进。例如并行DDL通过一年的灰度,线上全面开启。在高并发场景下,并行DDL使得创建索引的速度提升15-20,解决了多个客户在大表场景下的燃眉之急。例如某跨境金融客户,3TB5亿行的大表因为业务压力一直加不上索引,使用了并行DDL后只花了不到20分钟时间。同时,我们正在实现Multi-VersionDictionary可实现各种InstantDDL例如修改字段类型/增删字段),无需通过全表的重建,通过Dictionary的改变秒级即可生效。

 

image.png

今年是降本增效的一年,大量用户希望PolarDB 能够协助他们降低成本。在这个场景下,PolarDB开始支持OSS 存储。为了更好的把数据转移到OSS,以及管理这些数据,PolarDB在分区表方面做了大量的工作。比如说interval range 分区表,可以按时间自动生成新的partition。一些老的分区可以自动老化到OSS等更廉价的存储。

 

今年是PolarDB5周年,也是PolarDB的一个丰收年。PolarDB许多重磅功能经过过去几年的努力陆续得以实现和落地。我们希望这些能力能够给PolarDB的用户带来更多的选择,适配各种用户场景。 PolarDB 将继续坚持对MySQL/PG的全兼容,持续进行功能模块化,一个数据库多种形态的一体化,做精场景,服务各个行业的客户。我们将持续保证PolarDB的高性能和高稳定性,坚持降本增效,和客户一起迎接更多的挑战,成为客户云原生关系型数据库的首选!

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
4月前
|
Cloud Native 关系型数据库 分布式数据库
阿里云PolarDB云原生数据库:重塑企业级数据库的新标杆
阿里云PolarDB云原生数据库凭借其出色的性能、可扩展性、稳定性以及Serverless能力,成为企业级数据库的新标杆。它能够快速响应业务需求,灵活伸缩资源,确保系统稳定可靠。同时,PolarDB还提供全面的数据加密、访问控制和审计功能,确保用户数据的安全性。此外,它还支持与第三方工具和服务提供商的集成,提供更多定制化的解决方案。总之,阿里云PolarDB云原生数据库为企业提供了一种高效、可靠、经济的数据库解决方案,值得企业考虑选择。
|
4月前
|
Cloud Native 关系型数据库 分布式数据库
阿里云原生数据库 PolarDB MySQL:云原生时代的数据库新篇章
阿里云原生数据库 PolarDB MySQL,它是阿里云自主研发的下一代云原生关系型数据库。PolarDB具有多主多写、多活容灾、HTAP等特性,交易性能和存储容量均表现出色。此外,PolarDB MySQL Serverless具有动态弹性升降资源和全局一致性等特性,能够适应高吞吐写入和高并发业务场景。本文详细分析了PolarDB的性能、稳定性和可扩展性,以及它在成本、性能和稳定性方面的优势。PolarDB为企业提供了高效、可靠的数据库解决方案,是值得考虑的选择。
315 0
|
9天前
|
Cloud Native 关系型数据库 OLAP
云原生数据仓库产品使用合集之阿里云云原生数据仓库AnalyticDB PostgreSQL版的重分布时间主要取决的是什么
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
9天前
|
运维 Cloud Native 关系型数据库
云原生数据仓库产品使用合集之原生数据仓库AnalyticDB PostgreSQL版如果是列存表的话, adb支持通过根据某个字段做upsert吗
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
**PolarDB IMCI:云原生时代的智能数据库新选择**
**PolarDB IMCI:云原生时代的智能数据库新选择**
28 4
|
3月前
|
Cloud Native 关系型数据库 分布式数据库
电子书阅读分享《PolarDB开发者大会:PolarDB云原生弹性演进》
电子书阅读分享《PolarDB开发者大会:PolarDB云原生弹性演进》 电子书阅读分享《PolarDB开发者大会:PolarDB云原生弹性演进》
32 6
|
3月前
|
Cloud Native 关系型数据库 分布式数据库
电子书阅读分享《PolarDB开发者大会:PolarDB云原生弹性演进》
电子书阅读分享《PolarDB开发者大会:PolarDB云原生弹性演进》
28 5
电子书阅读分享《PolarDB开发者大会:PolarDB云原生弹性演进》
|
2月前
|
关系型数据库 分布式数据库 数据库
成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证
近日,成都晨云信息技术有限责任公司(以下简称晨云信息)与阿里云PolarDB PostgreSQL版数据库产品展开产品集成认证。测试结果表明,晨云信息旗下晨云-站群管理系统(V1.0)与阿里云以下产品:开源云原生数据库PolarDB PostgreSQL版(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
1天前
|
SQL JSON 关系型数据库
[UE虚幻引擎插件DTPostgreSQL] PostgreSQL Connector 使用蓝图连接操作 PostgreSQL 数据库说明
本插件主要是支持在UE蓝图中连接和操作PostgreSQL 数据库。
|
8天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在使用 DataWorks 数据集成同步 PostgreSQL 数据库中的 Geometry 类型数据如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
18 0

热门文章

最新文章