以中国人民大学经济信息管理系首任系主任萨师煊于年在黑板上首次写下“数据库”三个字为开端,中国数据库在Oracle、DB2、Informix等主流产品笼罩的市场中,在「看不到硝烟,却听得见炮火」的道路上,从科研走向产业,从彼时ebay、淘宝、支付宝等巨头的推进走向自研,如今也在云计算开辟的新赛道上,实现了逆风翻盘。
激荡四十载,现下国内厂商所筑造的丰富生态不亚于国外,以最初高举“去IOE”大旗的阿里巴巴而言,在其生态中,从传统的网络型、层次型、关系型数据库到云数据库及众多自研产品的应用,阿里引领了一条属于自己也属于业界的数据库进化之路。值此之际,CSDN与阿里云数据库的总负责人、达摩院数据库首席科学家李飞飞(花名飞刀)相约阿里云EFC总部的昆仑顶,论数据库之道,解锁鲜为人知的阿里云数据库故事与其背后的团队文化。
去年今月,我在杭州云栖小镇见到了行癫,他有一句「技术牵引,需求驱动」让我留下了非常深刻的印象,并且还以既是阿里云数据库的总负责人又是达摩院数据库首席科学家的李飞飞(花名飞刀)为例,说起阿里产品研发和科学研究是「一脉相承」的。
今年此时,在由阿里云联合英特尔共同主办的第二届数据库大赛——Tair性能挑战如火如荼地报名之时,我见到了李飞飞,他同时说下了这样一句话——将「登高望远、仰望星空」的能力和「日拱一卒、落子无悔」的工程师文化结合起来。
在数据库这一技术领域已成魁首的李飞飞,由学术界进入产业界已有两年多,这也是阿里云数据库全面开花的两年,譬如OLTP的PolarDB、OLAP的AnalyticDB和DLA、NoSQL的Tair与Lindorm等。
在王坚院士的《在线》一书中,他深入地谈到对「进化」的思考,互联网是世界向「在线」进化,云计算是计算机向「计算」进化。而在数据库这一领域,也正在发生由传统数据库向云原生数据库进化。
这一点在阿里数据库体系上体现得尤为明显。从最早依赖商业软件,拥有20多个节点的OracleRAC数据库集群,成为开发使用开源MySQL最好的企业之一,再到云托管数据库以及今天的云原生分布式数据库,阿里数据库完成了从商用、开源到自研的发展路径,并以极其迅猛之势形成山河。
云原生数据库的*金时代
对于李飞飞本人,相信业界不少从业者并不陌生。和人工智能界也是斯坦福大学计算机科学系教授李飞飞同名,男版李飞飞是全球数据库与大数据领域的领*人物,是年度ACM杰出科学家之一。目前担任了中国计算机学会CCF大数据专家委员会副主任、CCF数据库专业委员会常委等职务,也是国际顶级数据库与大数据学术及技术会议VLDB和IEEEICDE的工业界大会主席。
这位爱笑也有着程序员式幽默的大牛,在加入阿里巴巴近三年间,以低调的行事风格在业界一次又一次地“高调”地呈现了诸多的解决方案,并带领着阿里数据库团队与达摩院数据库实验室多次攻克云时代下数据库技术的瓶颈,如自研关系型数据库PolarDB的诞生,也实现「云原生数据库」的跨越性发展。
同时,李飞飞也坚信,“传统数据库会像马车一样被淘汰。”
而在云生态发展下,「云原生数据库」已成为不可逆的趋势之一。
对此,李飞飞解释道,所谓云原生,重要有两大部分:「云」与「原生」。其中,云,即用虚拟化的技术实现资源池化。而「资源池化」的定义,可追溯到六十年代的冯·诺依曼架构,因为它奠定了现代计算机体系架构。冯·诺依曼中有最核心的两个要素:计算和存储,它们构成了冯·诺依曼架构的基石,可能还要加上第三个要素——计算和存储之间的通信。在单机部署情况下,通信就是计算和MemoryBus、IOBUS。但在集群部署的情况下,计算和存储的通信就是网络,这是经典计算机架构。
传统的数据库系统都是基于上述经典的传统架构来设计的,但这里出现了一个问题,传统数据库系统因系统架构方式,必须是紧耦合的设计方式,才能最大效能地发挥出系统优势。类似于过去在村庄中,各家根据自己的用水量打一水井使用,这与传统的数据库系统使用计算、存储资源的方式是一样的,它是紧耦合的。
但如果水不够了怎么办?李飞飞表示,「这就需要用到传统数据库系统中经常提到的业务扩容。在传统的金融行业,数据库系统扩容需要提前几个月甚至半年做规划,进而细致部署、缜密实施,上线-灰度-再验证,一整套流程就是为了扩容、缩容。」
现在,随着云原生的到来,无须使用紧耦合的方式来部署和使用资源,不用家家户户打水井,而是整个村庄联合起来打一个湖或池塘,修管道连到各家各户的厨房里,这就是资源池化。在资源池化之后,可以按需按量使用、弹性调度资源。也可以将资源进行解耦。
时下,业界在计算存储分离方面,是将CPU和Memory绑在一起,和SSD持久化存储分开。李飞飞表示,随着NVM非易失技术的成熟,下一步甚至会将CPU和内存再进行隔离,内存再进行池化,形成三层池化,进一步隔离、弹性,更好地帮助客户实现按需按量使用资源。
正如上述提及的「水井和池塘」的逻辑,随着池塘不断变大,越来越多应用迁移上云,池塘不再是池塘,而将变成了江河大海,池塘与池塘之间还可以利用传统分布式技术进行打通,实现云原生+分布式的架构。这样做带来的好处,就是经济学里经常听到的一个基本、朴素的道理——规模化应用后带来边际成本下降效应。这个效应将会体现产品上,客户也因此受益,它的TCO一定会下降。规模化实现后,边际成本一定会下降,这是颠覆不破的经济学原理。
同样,如果有1万吨水,要维护1万个独立的井,和1万吨水放在一个水库里维护,哪个更简单?“事实上,现代人类文明发展已经很清晰地告诉我们答案是什么”,李飞飞说道。在规模化带来的边际成本下降即云原生带来的技术红利以及经济红利,向云原生技术演进的趋势是自然发生并非常清晰的,不论用公共云还是专有云私有化部署,都一样。
因此,云原生数据库正当时。
阿里云内存数据库的全面破冰
细分层面,在企业级云原生数据库赛道上,阿里在推出核心的云原生关系型事务数据库PolarDB以及分布式版PolarDB-X的同时,在传统的OLAP领域,推出了新一代云原生数据仓库AnalyticDB(简称ADB)以及云原生数据湖分析DataLakeAnalytics(DLA),ADB也具备存储计算分离、存储池化、弹性、高可用、离在线一体化的大数据处理能力,用数据库的方式支持客户去处理传统大数据问题。DLA利用云原生serverless的技术方式和架构设计,实现低成本高效的一键建湖,自动发现和管理多源异构数据源的元数据,并支持delta变化。用云原生Serverless的方式实现低成本数据湖构建和计算与分析。
在NoSQL领域,阿里推出了两个核心产品,一个是云原生多模数据库Lindorm,李飞飞对此用了6个字总结了其主打的特性,即帮客户提供「存得起、看得见」的非结构化、半结构化的数据存储与处理解决方案。由此客户可将海量的非结构化和半结构化数据存储在Lindorm中,并以简易、高效的方式处理和查询数据,比如时序、日志、文档等。
另外一款最为值得