对话阿里云李飞飞:数据库迎来开源新时代 | 《新程序员》
在大数据、人工智能、5G、物联网等新兴产业的日益成熟发展下,业界对数据库的稳定性、冗余度、扩展性、独立性提出了越来越高的要求,对此,阿里云、TiDB等国产数据库厂商们不断加快前进与创新的步伐,探寻跨越式发展路径以努力实现“弯道超车”。
时针拨回上个世纪70年代,从最初伴随着PC时代共同成长的网状、层次型数据库,到互联网时期以IBM DB2、Oracle、SQL Server为主的关系型数据库,再到云时代下,非关系型、图、分布式、云原生等数据库系统的迅猛崛起,作为基础软件的三驾马车之一,数据库的发展历程成为互联网变迁下数字化的一个缩影。
如今,在开源政策、众多专家学者、云计算等技术驱动下,国产数据库从起步到并跑,成功跻身于世界数据库之列。对于其未来发展,我们可从MySQL、PostgreSQL、MongoDB、Redis等主流数据库中发现一个共通性,即正如阿里云智能总裁、达摩院院长张建锋(花名行癫)所说,“数据库开源将成趋势”。
面向全新的机遇与挑战,阿里巴巴集团副总裁、阿里云智能数据库事业部和达摩院数据库与存储实验室负责人李飞飞(花名飞刀)在将数据库人才“登高望远、仰望星空”的能力和“日拱一卒、落子无悔”的阿里云工程师文化相结合的同时,也带领阿里云数据库的开源再下一城。
阿里云数据库掌门人——李飞飞
作为阿里云数据库掌门人,与许多毕业即步入大厂的技术人不同,李飞飞在学术界沉淀十年后才选择走进产业界。
李飞飞,阿里巴巴集团副总裁、阿里云智能数据库事业部和达摩院数据库与存储实验室负责人
学生时期的李飞飞从小便热爱探索、喜欢钻研,参与过诸多数学和物理竞赛,后进入清华附中国家教委理科实验班的他被直接保送到清华。本科阶段,也正值数据库系统、大数据和云计算三项技术兴起之际,李飞飞首次接触到数据科学这个概念。当时的他为了毕业设计项目,每天浏览海量数据,对网站信息进行拆解分析,拓扑网站结构,进而构建出一个完整后台,由此初步实现对网站信息自动化的理解。
通过此项目,李飞飞敏锐地意识到这个在彼时还未盛行的数据科学领域具有巨大的潜力,因此他选择进入美国波士顿大学攻读数据库与大数据系统继续深造。随后他又先后在佛罗里达和犹他大学计算机系任教,从助理教授做到副教授,再到终身教授,在学术界一待就是十年。
直到2018年,李飞飞被阿里云总裁张建锋的一句“技术创造新商业”所打动,正式加入阿里云,致力于云原生分布式数据库系统的研发和商业化。加入阿里云的这三年间,其带领团队所研发的新一代云原生分布式数据库系统,不仅支撑了阿里巴巴经济体的复杂业务、海量数据和双11交易洪峰的挑战,更被应用在海量的不同企业级应用当中。在2021阿里云北京云峰会上,李飞飞重磅宣布“阿里云数据库开源计划”,将其最核心的云原生数据库技术进行开源,携手开源社区共建云原生数据库2.0新时代。
技术创造新商业,开源开辟新道路!
对标全球数据库发展进程,阿里云之所以选择开源这条路,李飞飞表示这是因为无论学术界、产业界还是科研界,国内对开源的态度都经历了阶段性的变化。发展之初,很多人认为开源与商业无直接联系,然而开源社区的协同模式改变和颠覆了传统工作方式,开源也成为我国在基础软件层面必须要考虑的一条道路。
不过,开源在国内的发展并非一帆风顺。在很多企业看来,开源与商业化是一个矛盾体,在问题没有完美的解决方案前,保持观望或为最保险的举措,这也成为很多人踌躇不前的根本原因。
在接受采访时,李飞飞坦言,开源固然是建立生态非常关键的一个抓手,但开源和商业化之间的矛盾并非一日即可化解,因此团队内部也曾对阿里云数据库的开源有过不同的意见和思考。
经过内部不断地磨合与探索,开源在阿里云内部逐渐生根发芽。现实来看,开源和商业化的矛盾也非天然的对立面,倘若作为决策者在拥有强大定力和判断力的同时处理好其两者之间的关系,也可以为基础设施层的软件带来难以撼动的影响力。李飞飞也提醒道,与之相对的是,开源也绝非“灵丹妙药”。开源仅是一种回馈开发者、回馈技术社区、让更多人参与到前沿技术、促使技术更快发展的手段而已,并不能解决所有问题,关键还是在于社区的后续经营,即是否用心运营社区,是否有高质量的代码贡献,能否让开发者们从中获益,这些后续挑战都不容忽视。
那究竟如何才能让商业化和开源社区宛如两条腿可以正常地向前行走?对此,李飞飞提出了两点建议:
企业做开源首先要想清楚开源目的。如果开源目的不纯粹,只是为了商业化或打压竞争对手,这种开源是不会成功的。对于阿里云而言,开源目的是要把开发者生态做起来。建立一个全新的生态需要大量的时间成本,助力和引领现有生态是更加高效的一条道路,目前开源的PolarDB PG版本就是这样的一个选择。
明确好开源路线。开源真正的关键就是要让社区真正活跃、运营起来,如PostgreSQL、MySQL等主流开源数据库的生态那般能在中国能茁壮成长。因此要有清晰的开源规划路线,建立对开发者和用户有核心差异化能力和价值的技术组件。
李飞飞表示,开源要有开放的心态:任何人都可以拿去用,也可以回来参与共建;别人用了你的模块,感觉不错,有能力就欢迎回来把它变得更好,但不贡献也没有关系。
数据库的下一征程——云原生数据库2.0
秉持这样的心态,阿里云计划将云原生数据库2.0最核心的能力之一——云原生关系型数据库PolarDB的分布式版PolarDB-X对外开放,与此同时,还做了一系列的数据库开源计划,且整体计划已排期至明年六月。
所谓云原生,李飞飞认为,它是未来使用云的标准方式。在他看来,云原生具有三大独立特点:
云原生1.0是在PaaS层更高效、安全、可靠地利用底部云原生化的IaaS层。
云原生首先从IaaS层开始,从最早如基于KVM和Hypervisor的虚拟化技术,到容器,再到微服务,将资源池化,这就是IaaS层云原生1.0的核心所在。继IaaS层云原生后,PaaS的云原生1.0就此展开,主要包含构建云原生数据库和大数据服务。如管控DBaaS云原生化、容器化部署、调度、微服务化,数据库内核设计采用存储计算分离技术和一写多读、Serverless等,来实现系统的弹性、高可用和可拓展性, 这些都是云原生1.0做的事情。
而云原生2.0概念的提出,是因为云原生1.0核心还是聚集在原子产品差异化能力上。如果说,云原生1.0带给业务、行业、客户和开发者的是一把厉害的冲锋枪和机关枪,那么云原生2.0赋予他们的就是能够战而胜之的能力。因此,在云原生2.0阶段,阿里云数据库要从原子产品差异化走向一站式数据管理与服务,实现全链路云原生化的数据管理与服务,提供一站式的数据治理服务,让开发者、应用和用户更多地关注怎样从数据里发掘价值,而不是关心属于本该属于阿里云的使命——怎么让数据自由地无缝流动。
“系统设计没有唯一解”。
现实生活中,数学非常严谨,数学证明往往只有唯一的正解;但如果有人说自己所创建的系统是唯一正解,这绝对不正确。应用的需求千变万化,不同的系统面向不同应用,每个系统的核心能力和它所选择的主赛道定然不同。因此,即使相邻两个领域会发生深度融合,但要想将全链路数据治理服务能力全面融合到一个系统里是个不太可能的事情。
云原生数据库2.0的一站式数据管理与服务是利用在线数据平台做统一数据治理。
为解决一站式数据管理与服务与无法将全链路数据治理全面融合到一个系统的矛盾,云原生数据库2.0的核心是打造一个在线数据管理平台来管理多个系统实现统一的数据治理:TP有云原生关系型数据库PolarDB,AP有云原生数据仓库AnalytiDB (ADB),PolarDB和ADB都会具备HTAP的能力,同时还有面向物联网和NoSQL领域的多模数据库Lindorm。每个系统都有其特别擅长的领域和临近领域的融合能力,利用在线数据管理DMS提供一站式接入的管理和开发平台。DMS可以接入多元异构的数据源,提供多源异构的元数据统一管理,并把这种理念拓展到一个全域、面向包括关系型数据库、MPP数据仓库、NoSQL数据库等在内的所有数据库类型的一站式管理开发平台,还有面向开发者和应用提供一站式数据治理能力(例如鉴权与脱敏、数据溯源、数据血缘、数仓开发、Devops、ETL、online DDL等)。同时,底下的引擎、相邻领域的系统融合又都有云原生的能力——这就是云原生数据库2.0一站式数据管理与开发的理念。
除了这三点,李飞飞还对未来十年云原生数据库2.0的发展进行了展望:不管是不是云厂商,接下来在怎样向开发者和客户提供更好的一站式数据管理与服务体验能力这点上,注定是兵家必争之地,至少要持续三到五年。但上云是系统化工程,因此对很多传统企业而言,云原生数据库2.0一站式数据管理与服务绝不只是单独换掉数据库这么简单,这是一个生态问题。很多企业基于IOE发展多年,业务系统的整个流程可能都是基于IOE生态发展而来的,因此如果只是把内核这一层替换掉解决不了问题,反而还会带来很多如应用代码、业务流程要不要改等现实问题。除此之外,数据库配套的生态工具、ERP、CRM系统和上面的应用也不可能让企业再研发一遍。
以上这些问题都是现实的切肤之痛,也是如今传统企业上云的难点所在。很多人认为互联网行业上云快是因为互联网行业技术深度强,其实不然,这主要是因为他们没有历史包袱。传统企业技术实力也很强,像金融系统的技术水平就非常高,但他们有之前二三十年一路走来所积累的各种各样的架构和应用,这是最大的挑战。
针对这种情况,阿里云提出云原生数据库2.0一站式数据管理与服务,从数据传输、备份到应用的迁移改造,过程中会评估用户的应用代码是否兼容,不兼容能否进行自动代码转换等,为企业用户提供一站式全链路数据治理的能力。
云原生2.0已在推进,阿里云对云原生3.0又有怎样的展望?李飞飞回答,如今企业都在做智能化尝试,等到全面覆盖时,智能化将会深深地融入到每一件事中,包括DB for AI和AI for DB。如今的AI for DB是用机器学习和AI的方法,做系统的监控、调度、参数调优和索引推荐等,这一技术会在云原生2.0时代迎来进一步发展,但预计距离完全成熟还有一段距离。就好比在自动驾驶汽车领域,全自动驾驶汽车还是一项有待成熟的技术,但高度辅助的自动驾驶汽车已经成为现实。在云原生数据库2.0里,李飞飞认为自动驾驶辅助的数据库系统也是核心特点。但他指出,全自动驾驶从参数调优到部署整个AI化的数据库系统是3.0才可能会成熟的一个产品。
DB for AI也将在数据库中支持各种各样智能化应用,例如将深层次的机器学习、人工智能推理能力整合到数据库系统里来,而不是像现在把数据进行在线交易、在线分析、离线计算,最后把数据拖出来建模、做推荐。等到3.0的时候,这些流程虽然不至于在数据库系统内部实现全部智能化,但应该可以实现部分智能。近来Oracle 21c的最新版本发布就提到了Oracle内核要直接支持AI建模和ML负载等,但这只是一个方向,距离真正的成熟还有一段时间。目前业界已经在朝这个方向发展,待到其真正成熟、大规模产生产业化价值时,云原生3.0可能就来了。
但李飞飞也强调,任何事物的发展都需要一个过程。云原生1.0、2.0、3.0都是一个阶段,每个阶段又互相融合。在云原生2.0阶段中,智能化会持续发展,等到真正能够实现全自动驾驶和智能化的数据库系统成熟,完成大规模商业化应用和落地,3.0自然而然就来了。
云原生+分布式是数据库的发展方向
云原生数据库的时代已至,业内呼喊了多年的“去IOE化”也终于有望实现,但真正的未来却不仅于此。
《程序员》:行业内“去IOE化”已良久,许多人都以为Oracle市场份额会下降,不过Oracle却回应“现在我们保持两位数的增长”,对于这个现象你怎么看?
李飞飞:据Gartner最新全球数据库市场数据显示,Oracle被微软超越,首次失去第一的位置。对于其中原因,在深入分析其背后的数据发现:微软之所以能超过Oracle,是因为它两手(线下、云)都抓,而且两手都很硬。
微软线下传统的SQL Server本就占据全球传统线下数据库市场的20%左右,如今通过Azure实现云上与线下齐头并进的方式,超越Oracle也就是水到渠成的事情。Oracle虽然也在不断地想要向云端转型,但是它在云上的力量和声音还太过薄弱,主要业务还是聚焦在线下。放眼全球,随着数字化经济的到来,虽然线下市场还有一定比例的份额,即Oracle什么都不做也还会有业务增长,但如果Oracle的云化进程和云上业务不能实现突破,Oracle终将被云数据库所替代。
Oracle若想要站稳脚步,或许可以学习微软两手都抓,两手都硬:但在云上发力的同时,线下市场也不能放,因为这是Oracle的优势所在,不能自废武功去在一个自己并不擅长的赛道与对手PK。
《程序员》:造车趋势下,云原生数据库和自动驾驶将如何结合?
李飞飞:阿里云推出的云原生多模数据库Lindorm,从最初就瞄准了物联网及车联网市场。Lindorm支持的时序数据是车联网、物联网里最核心的数据之一;它还支持文本半结构化数据、KV存储、云原生的存储计算分离,这使得其成本非常低, 支持多模数据灵活处理。
与此同时,阿里云将从两个层面做好工作。一方面,造车是一个很大的赛道,所有自动驾驶新能源汽车产生的数据必须符合政策,且必须让数据具备不可篡改的验证能力。因此此处需要区块链中最核心的技术MHT(merkle hash tree),把相邻两个节点基于哈希算法进行自我验证。在这之中,Lindorm会结合该种能力,以提供低成本、面向车联网打造的物联网数据库,同时具备数据不可篡改的验证能力。
另一方面,注重生态建设。阿里云正与多个伙伴合作,并在物联网、车联网领域做了大量的前期工作。后续阿里云也会与更多合作伙伴一起,打造基于Lindorm的解决方案。
《程序员》:面向开发者黄金十年,你对云原生数据库的下一步发展怎么看?
李飞飞:随着数字经济、数字化的到来,上云已是一个必选项,仅有上公共云还是混合云的区别罢了。许多传统企业的基础架构在未接触阿里云之前就已经完成了云化的初始阶段。
在这种趋势下,云原生数据库的发展需要结合经典的系统能力,如分布式能力:云原生+分布式两相结合一定是未来发展的趋势。云原生与分布式相结合将带来高可用、弹性、可拓展性等多个优势。当下,从互联网到能源、电力等各行各业,从友商到竞争对手,从分布式到单机,都在布局云原生。很多企业,从一开始对云原生只是有需求,如今自己也在做云原生,比如通过构建一个分布式文件系统来实现存储计算分离,存储池化的能力。除此之外,还有很多分布式数据库也在往这个方向发展,因此只有分布式+云原生深度结合才是真正的未来。
本文出自《新程序员·新数据库时代》,即将正式上市!
2018 年图灵奖得主、深度学习三巨头之一Yann LeCun(杨立昆),2020年图灵奖得主、龙书《编译原理》作者Jeffrey Ullman,英特尔副总裁Erez Dagan,阿里巴巴集团副总裁李飞飞,腾讯自动驾驶总经理苏奎峰……《新程序员》第二期,我们以「软件定义汽车 & 新数据库时代」为主题,邀请到国内外60余位学术领航人、技术大咖与产业先锋,为智能驾驶及数据库产业奉上酣畅淋漓的理论交锋及实战演练。
此外,我们还邀请到“造车新势力三杰”——蔚来、小鹏,以及理想,他们如何完成“电动化、网联化、智能化、共享化”的转型?同时,在“十问数据库”中,华东师范大学副校长周傲英、达梦数据创始人冯源、TiDB创始人黄东旭、OceanBase CTO阳振坤……他们讨论的主题是:数据库的自主之路,究竟还远吗?
扫描下方二维码,添加小助手,即刻加入《新程序员》「读者群」,抢先一步获取杂志最新资讯,精彩内容不再错过。