特稿|过去5年,阿里云是如何打造云原生数据库PolarDB的

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 阿里云在云原生数据库领域的自研创新突围。

5年时间,PolarDB从一个“探索性”产品,到今天成为阿里云数据库诸多产品中的领头羊,不仅见证了阿里云在云原生数据库领域的自研创新突围,也见证了一批理想主义者在一片无人区里的坚持。

文|周路平

编|赵艳秋

“中国的数据库系统和技术,与海外的高水平数据库,几乎站在了同一个起跑线上。”2022年6月的一个下午,李飞飞在公开谈论中国数据库的发展现状时,说了这么一句话。

作为阿里云数据库的总负责人,李飞飞这么说肯定是有底气的。因为在他的带领下,在业内最为权威的Gartner云数据库魔力象限评估中,阿里云已经于2020年和2021年连续两年进入领导者(LEADERS)象限,跟亚马逊AWS、谷歌、微软等全球科技巨头同台竞技。同时,这也是中国数据库40年来首次进入全球顶级数据库行列。

在阿里云不同类型的数据库产品之中,PolarDB无疑是冉冉升起的明星产品。但如果把时间拨回2015年,PolarDB还仅仅是阿里云RDS数据库团队的一个“探索性”产品,当时仅有两位工程师在做专职研发。

从一个“探索性”产品,到今天成为阿里云数据库诸多产品中的领头羊,PolarDB过去5年极速狂奔。它的成长见证了阿里云在云原生数据库领域的自研创新突围,也见证了一批理想主义者在一片无人区里的坚持。

01

数据库大变局

2009年,阿里巴巴掀起了轰轰烈烈的“去IOE”运动。IOE是当年IT架构里的黄金搭档,I是IBM的小型机,O是Oracle的数据库,E是EMC的集中式存储,这三家美国公司构成了IT铁三角,在全球市场所向披靡。

众所周知,IOE的方案稳定性好,但扩展性差,价格昂贵,已经无法满足阿里巴巴高速发展的业务需要。去“IOE”就是用开放、便宜、通用设备来取代这些封闭、昂贵的专用设备。

image.png

在“IOE”中最难去的就是“O”,也就是Oracle数据库。因为Oracle数据库中保存的是企业最核心和最宝贵的资产——数据。更换数据库不仅意味着要面临数据迁移时损坏和丢失的风险,还意味着上层软件代码重写。

综合评估之后,阿里工程师团队决定对开源数据库MySQL进行修改以满足业务需要,这就是AliSQL的雏形。

AliSQL是MySQL的分支,阿里在这个分支上做了很多深度的定制,以充分挖掘MySQL的潜力。AliSQL支撑了阿里集团电商业务十余年,其稳定性、安全性和高性能是经过了极其严苛的实践检验。除此之外,AliSQL做了很多实用性的功能,以提高MySQL的易用性和使用效率。

到2013年,阿里的“双十一”就已经完全靠AliSQL来支撑了,同时基于AliSQL内核的RDS数据库也在阿里云上商业化,服务遍布各行各业的外部客户。

不过,随着阿里业务的快速发展,AliSQL数据库很快就接近能力极限。同时,越来越多的阿里云上的客户也提出要求,希望可以支持更大的存储,并且弹性扩缩容上更灵活、更简单。

“当时,我们团队就认识到,如果基于现有架构进行小修小补,很难解决阿里自身业务和客户提出的问题。必须从根本上演进云上的数据库架构,做一个全新的云原生数据库。”PolarDB工程师江疑回忆道。

正当阿里云的工程师们思索云上数据库架构创新的时候,亚马逊Aurora的出现令他们眼前一亮。

Aurora是亚马逊云在2014年发布的新一代数据库产品。其最大特点是计算存储分离。以前的数据库计算和存储都是一体,这种方案已经非常成熟,缺点是不利于弹性扩展,性价比不高。

作为行业的风向标,AWS的这一做法引起了全球云计算公司的关注。Aurora也成了亚马逊云的明星产品,当年在亚马逊的所有产品里年增速排第一。

一时之间,Aurora在数据库行业无人不知,无人不晓,但Aurora并没有公布详细的技术架构,谁也不知道他们如何实现计算和存储分离。

但Aurora的初步成功有个好处,它提醒业界,云原生数据库的前方流淌着奶和蜜。

“这个产品形态有市场化的前景,这个其实是最大的一个保证。”阿里云数据库首席架构师曲山说,Aurora的道路与PolarDB团队的想法不谋而合,但云原生数据库的创新之路,阿里云得自己走。

在云时代,数据库的演化经历了从采购License自建到云上托管数据库再到云原生数据库的转变。过去云是云,数据库是数据库,数据库只是部署在云上。但在云原生时代,数据库和云是合二为一的,云就是数据库,数据库就是云。

那么,何为云原生?

作为数据库领域的大咖,李飞飞打过一个形象的比方:一百年前,家家户户喝水要打一口井,每个水井都是相互独立的。如果哪天临时来了客人不够用了,要么是把井挖深一点,要么是上邻居家去挑水。这就是传统数据库的方式。

image.png

如今的云原生数据库,则是把这些水井底部的水资源连接起来,表面上还是一口口独立的水井,但是水井的底部已经连在一起,形成了一个隐形的池塘,能实现随时按需用水。

实际的工程比把水井底部连接的工程要复杂的多。水井只有水一种资源,数据库涉及计算、存储和网络等。这些资源需要放在不同的水池子里,用户对哪个资源需求高就调度哪个。

“云原生是使用云计算的标准方式。”李飞飞说。这也意味着需要一个全新的云原生数据库。

于是在2015年,阿里云数据库团队下定决心,推动云原生数据库的自研工作。

从托管数据库到云原生,阿里云走出了具有变革意义的一步。一个新的数据库时代即将拉开序幕。

02

云原生的小步跑

战略方向正确,业务又有需求,按照外界的想象,阿里云应该拉一票人,大张旗鼓地杀入云原生数据库。

“事实并非如此。”江疑回忆,当时阿里云RDS数据库内核团队只有十几个人,大部队依然留守基本盘,根据客户的需求,需要继续挖井,不断挑战RDS的性能极限。

2015年,阿里云只派了两三名资深工程师,探索云原生,寻找计算存储分离的“水厂之路”。

云原生数据库虽然也是基于开源MySQL,但远不是在这个基础上增加点功能就能搞定,需要对很多核心模块进行重构。

“没有现成的系统可以参考,要靠自己一点点去试。”曲山说。MySQL本身是一个很复杂的系统,多达两三百万行代码,要把它啃下来,还要给它最基础的存储层进行重写,挑战非常大。

PolarDB解决的第一个技术点是物理复制。物理复制是云原生内核层的核心技术,它不是简简单单复制过去,还要保证数据的一致性,保证同步的性能,里面涉及非常多的技术细节。这个技术难题不解决,后面的技术创新也无从谈起。

2016年,第一个技术难点被攻破,PolarDB用物理复制的方式实现一写多读。前期的技术探索得到了验证,PolarDB才开始大量招兵买马,配齐存储、内核、管控等工程师,此时,RDS数据库团队的很多人也转去支持PolarDB。

image.png

这一年,阿里云的数据库也得到海外同行的关注。PolarDB相关团队受邀参加了硅谷召开的Percona Live。这是全球最有影响力的开源数据库技术大会,包括Facebook、Google、Oracle、亚马逊和Twitter等各路英豪都悉数到场。

江疑记得,首次出现的中国面孔,让欧美团队非常好奇。InnoDB的老大Sunny Bains坐在第一排,对来自中国的数据库产品表现出了浓厚兴趣,演讲结束后,他还与大家讨论了很久。亚马逊AWS的人也来了,会后也找到PolarDB的人交流。

创新就是在各种不确定性中寻找确定性,走弯路在所难免。PolarDB也不例外。

作为最早参与PolarDB内核研发的工程师,韩逸回忆,PolarDB在2015年就开始立项研发,但吭呲吭呲干了一年多,才发现少做了数据库中很重要的模块——文件系统。

当团队意识到这个问题时,距离PolarDB公测的时间已经不多了,好在最后找人花了大半年时间才把漏掉的东西补齐。

至今,韩逸对2017年的那一段时间记忆深刻。“那是PolarDB团队最艰苦的一年,有两个多月,团队所有成员都在疯狂赶代码,有时候下班会遇到早高峰。”

2017年10月,阿里云如期宣布,云原生关系型数据库PolarDB正式上线公测。

团队成员为这款数据库产品定名PolarDB,因为 “Polar”有极地的意思。地球上公认有三极:南极、北极和珠穆朗玛峰。这三个地方代表着最艰难但也是人类苦苦探索的极地和高峰。同时,也代表着阿里云数据库团队想要创造新一极的雄心。

公测当年,阿里云的开发者社区有篇文章流传甚广,里面提到PolarDB相比于MySQL有6倍性能的提升,相比传统商业数据库更是有着明显的成本下降。

当时,从产品的技术指标来看,PolarDB已经成了。

03

商业化的成功

做出来产品是一回事,市场买不买单才是真正的试金石。所以,PolarDB公测之后,面临的另外一个挑战则是实现营收的快速增长。

所幸,PolarDB赶上了好时候。

2018年前后,游戏和在线教育行业出现井喷,这些业务都有个特点:对数据的实时性要求非常高。而云原生数据库的弹性和快速扩展的特性,完美地匹配了这个需求。

PolarDB第一位大客户是来自在线教育领域的猿辅导。当时这家在线教育公司高速发展,但IT架构已经拖了业务后腿。在线教育业务波峰波谷非常明显,学生都是周末或者晚上上课。那些年流行大班课,一个线上课堂有几百个甚至上万人同时在线。

单机MySQL支持的用户量有限,在应对高并发业务需求时常常感到力不从心。临时扩容,又达不到实质性的扩展要求,因为背后涉及数据迁移、备库,还有大量的工作。

但PolarDB可以快速进行扩容、缩容,横向加只读节点,对业务没有影响,也不需要停机。所以,PolarDB一下就在在线教育机构里流行起来了。

游戏行业的情况,也基本类似。

当时国内一家排名非常靠前的游戏厂商,对数据库做过一系列的评估:自建数据库,架构复杂,稳定性难以保障,而且搭建和维护的成本都非常高;云托管的数据库也不够灵活,对于传统电商业务够用,但游戏还不太够。

游戏用户对时延的容忍度非常低,好不好玩是另一回事,玩的时候掉线就非常影响体验。可以想象一下,当你找准时机,准备对着敌人放大招时,结果系统掉线了,十个用户有九个能把游戏厂商的全家问候一遍。

当时业内的普遍水平是,数据库要扩容,中断30秒以内都是可以接受的,但游戏客户一秒钟都没办法容忍。而且,游戏客户经常需要备份,但多数云数据库的备份被吐槽太慢,常常多达数小时。但云原生数据库的备份都是分钟级,甚至秒级,而且恢复也非常灵活。

利弊权衡之下,这家游戏客户选择了PolarDB,扩展性强,稳定性非常高,并且相较于以往能够节省一半成本。

市场瞬间爆发的需求甚至超出了PolarDB团队的预期。面对每月环比百分之几百的增长,支持PolarDB数据库的后台服务器采购一度跟不上业务发展的需要。

如今来看,PolarDB团队有点像做风险投资一样,投中了高速增长的游戏和在线教育市场,并赢得了独角兽标杆企业的认可,以致在这两个行业获得了快速复制的机会。

但更为重要的成功机制是,PolarDB团队在追求技术创新之外,开始学习站在客户的视角上去看待技术,思考什么样的技术对客户有吸引力,客户更愿意为什么特性付费。

事实上,为了打穿游戏行业,PolarDB后面开发了不少面向游戏场景特色的功能特性。随着对游戏行业规范政策的不确定性变大,最近几年游戏公司纷纷出海,PolarDB又适时推出了全球数据库同步能力,帮助游戏企业简化运维工作。

“PolarDB其实是应云上客户的需求而生的。”如今复盘PolarDB的成功,曲山告诉数智前线,“PolarDB成功最关键的一点是,非常好地契合了市场需求,不断解决客户提出的问题。”

而且,在庞大的市场需求和客户不断反馈下,PolarDB的技术进步及稳定性也肉眼可见。

在PolarDB商业化初期,客户经常会找阿里云数据库工程师反馈各种问题。但是一段时间之后,很多数据库工程师发现,客户再找他们的频率已经大幅下降。有时候工程师反而会主动去问客户有什么问题,得到的回复常常是:挺好,没有什么问题。这让PolarDB的工程师们感觉“特别好”。

2018年,阿里巴巴在国际数据库顶级大会VLDB上发表论文,介绍PolarDB的存储系统。团队惊喜地发现,这篇论文很快被慕尼黑大学、普渡大学、旧金山大学等高校的数据库课程引用为课件,用于给学生授课。

04

茶馆论道

2019年的一天,杭州西溪园区旁的一个茶馆,坐着七八位理工男,他们是阿里云数据库PolarDB的核心团队。

来茶馆之前,他们已经在公司会议室里讨论了一天。会议室狭小,空气沉闷,大家觉得要换个环境,有个清醒的头脑,最终步行去了公司附近的茶馆。

尽管也聊同行和客户,但会议的主题非常明晰:新一代云原生技术架构会走向何方。

当时,PolarDB已经商业化,大量对数据库弹性和性能要求更高的客户纷纷迁移过来。

但PolarDB团队却有点发愁。没吃饱饭时只有一个烦恼,吃饱了饭就有无数个烦恼。PolarDB技术上已经是第一梯队,接下去在无人区中怎么走,构建更深的技术壁垒是团队永恒的话题。

当时的意见分成了两派:

一部分人的思路是跟随。Aurora作为分布式数据库的行业先行者,它做啥我们做啥,这样能够避开很坑,成功概率更高。

另一群人的观点要超越。要在技术和业务上超越Aurora,我们才可能做全球的第一。PolarDB内部经常说一句话:要推动中国的数据库技术的演进。野心很大,也很疯狂。

后者听起来热血沸腾,但争议最大,首先是否真的有这么大的能力,其次是否能承担高昂的试错成本。跟在Aurora后面走,也是一条稳健的路。

但决策层最终支持了第二条路:先在技术上超越Aurora,然后在业务上超越,最后做全球第一。

亚马逊云在研发Aurora数据库的时候,网络还是瓶颈,但阿里云决定做PolarDB的时候,却坚定认为网络已不是问题,“过去基于内核提供的syscall开发的软件代码,才是拖慢系统的一环”。

所以,Aurora的思路是要节省带宽,阿里云则认为解决延迟是关键,倾向于软硬结合。PolarDB研发那几年,硬件的演进速度比较快,软硬件一体设计让PolarDB也有了后发优势。根据最新测试,PolarDB今天能够以50%的成本提供Aurora 400%的性能。

如果说第一代架构时,阿里云还受Aurora的启发。但走到现在,一个选择了珠峰南坡,一个选择了珠峰北坡,两个产品在技术路线上走的是独立发展道路。没有别人的东西能借鉴,PolarDB要继续走自己的道路。

这不仅是技术方向的探索,更是一次信心的重构。

这次的茶馆论道,基本确定了PolarDB后面几年的技术方向,就是不断释放云计算资源池化的潜力。事后看来,茶馆里探讨的云原生技术方向在此后几年被一步步实现,成了PolarDB能保持技术领先的关键。

过去两年里,PolarDB 所实现的计算、内存与存储资源的“三层解耦”架构、多主多写、基于内存池化的HTAP、Serverless等功能已是全球首创或业内领先的技术,也都是在最大化云计算资源池化的价值。

image.png

2020年12月14日,中国电子学会正式公布2020年中国电子学会科学技术奖名单,阿里云主导的“云原生分布式关系型数据库PolarDB”项目获得科技进步一等奖。这也是继飞天云操作系统之后,阿里云再次有自研技术获此殊荣。

2020年,阿里云还首次进入Gartner全球云数据库领导者象限,评选维度涵盖前瞻性和执行力两大维度共15个核心指标以及200多项细则。这也是中国数据库40年来首次进入全球顶级数据库行列,并且在2021年蝉联。

这份荣誉属于阿里云,也属于中国数据库。

当时,阿里云专门在办公室开了个小型庆功会。庆功会表达了两个意思:一个是要把技术化为业务价值,另一个就是要继续坚持技术的演进。

05

中国的数据库之火

如今,阿里云数据库已经是人丁兴旺的大家庭。

根据数据库的分类,在OLTP领域,阿里云有云托管数据库RDS,云原生关系型数据库PolarDB以及分布式版PolarDB-X。在OLAP领域,阿里云有新一代云原生数据仓库AnalyticDB以及云托管Clickhouse。在NoSQL领域,阿里云推出了云原生多模数据库Lindorm和云原生内存数据库Tair。

齐头并进,多点开花。

2018年5月,李飞飞加盟阿里巴巴,全面负责阿里云的数据库产品。李飞飞此前是美国犹他大学的计算机系教授,入选了国际计算机学会以及国际电子电气学会公布的2021年新选会士名单。

李飞飞加盟后,大刀阔斧整合了阿里集团和阿里云的数据库技术和团队。此前,在数据库的研发侧重上,阿里云往云原生方向阔步向前,阿里集团则根据自身业务需要,往分布式方向发力。

合并之后,这两条技术路线都在发展,同时也互相吸取对方的技术优势。

阿里达摩院也有一个数据库研发团队,他们保持在数据库前沿技术和基础科研上的探索,阿里云负责将技术转化为产品。阿里云数据库发表的高水平论文,做的很多自研技术和产品,背后都有达摩院的功劳。比如达摩院研发的加密数据库技术和空天数据库引擎,最早就在PolarDB落地。

2019年5月,PolarDB发布大版本更新。当时,李飞飞就断言,未来的数据库一定是云原生数据库。他说,云原生数据库在成本、灵活度、安全、技术进化层面都优于传统数据库,“传统数据库会像马车一样被淘汰”。

事实上,“云数据库是未来”并不只是云数据库厂商的说法。Gartner在其发布的研究报告中明确提出,传统的自己部署数据库的方式已经过时。云是未来,所有组织,无论大小都将越来越多地使用云数据库。Gartner还预计,到2023年75%的数据库要跑在云平台之上。

毫无疑问,数据库市场格局正在发生巨变,而在这场事关数据库未来新格局的争夺中,PolarDB凭借在云原生数据库市场上的成功卡位,已经为中国在数据库领域赢得了尊重和行业影响力。

“从全球数据库顶级会议的录取论文数据来看,中国数据库技术创新能力已经达到了世界先进水平。”中国人民大学明理书院院长、中国计算机学会理事、数据库专委会资深委员杜小勇认为,中国有着丰富而独特的数据库应用场景,随着国家科技自立自强重大战略的实施,以及对创新的鼓励,中国数据库技术发展进入了一个千载难逢的机遇期。

从现代数据库40多年的发展历史来看,PolarDB创新的5年并不算长。但是,它是中国数据库厂商在数据库新赛道上蓬勃创新、不断向上的一个缩影和代表,正像一颗火种一样,点燃中国数据库的熊熊之火。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
7天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 10 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
24天前
|
Cloud Native 关系型数据库 分布式数据库
|
29天前
|
缓存 弹性计算 NoSQL
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
|
29天前
|
安全 NoSQL 关系型数据库
阿里云数据库:助力企业数字化转型的强大引擎
阿里云数据库:助力企业数字化转型的强大引擎
|
30天前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
1月前
|
运维 Cloud Native 数据可视化
阿里云云原生应用组装平台BizWorks满分通过最新评估
阿里云BizWorks满分通过《基于云计算的业务组装平台能力成熟度模型》评测,获得优秀级(最高等级),广东移动联合阿里云BizWorks团队开展的组装式应用实践获得第三届“鼎新杯”数字化转型应用优秀案例一等奖。
186 3
|
1月前
|
人工智能 Cloud Native 关系型数据库
阿里云关系型数据库连续五年蝉联榜首
全球领先的IT市场研究和咨询公司IDC发布了《2023年下半年中国关系型数据库软件市场跟踪报告》,2023年阿里云整体市场份额(公有云+本地部署模式)稳居第一,其中公有云市场份额高达39.2%,自2019年起连续5年蝉联榜首。
|
1月前
|
安全 NoSQL 关系型数据库
阿里云数据库:构建高性能与安全的数据管理系统
在企业数字化转型过程中,数据库是支撑企业业务运转的核心。随着数据量的急剧增长和数据处理需求的不断增加,企业需要一个既能提供高性能又能保障数据安全的数据库解决方案。阿里云数据库产品为企业提供了一站式的数据管理服务,涵盖关系型、非关系型、内存数据库等多种类型,帮助企业构建高效的数据基础设施。
55 2
|
24天前
|
运维 Cloud Native 持续交付
云原生技术解析:从IO出发,以阿里云原生为例
【10月更文挑战第24天】随着互联网技术的不断发展,传统的单体应用架构逐渐暴露出扩展性差、迭代速度慢等问题。为了应对这些挑战,云原生技术应运而生。云原生是一种利用云计算的优势,以更灵活、可扩展和可靠的方式构建和部署应用程序的方法。它强调以容器、微服务、自动化和持续交付为核心,旨在提高开发效率、增强系统的灵活性和可维护性。阿里云作为国内领先的云服务商,在云原生领域有着深厚的积累和实践。
52 0
|
30天前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改

相关产品

  • 云原生数据库 PolarDB