好书推荐《云原生数据库》李飞飞:2022年Serverless是分水岭
《云原生数据库:原理与实践》李飞飞博士著。在理解云计算趋势下的数据库形态及技术趋势之前,需要先探讨云计算和数据库的本质。
云计算在本质上是将各类信息技术基础资源“池化”,将客户所需的计算、通信、存储资源纳入统一的资源池进行管理。
用户在实际使用时,对于大型信息系统或信息基础设施的构建,用户无须自建机房、购买硬件设施、搭建基础网络、安装系统和软件等,极大地减少了前期的IT设施投入成本。
同时,借助云计算资源的虚拟化和池化技术,用户拥有了基础设施弹性能力,能快速应对业务流量的变化。对于云服务提供商而言,规模化的资源供应、使用、运维和管理,也极大地提升了云服务提供商的技术、供应链管理等能力,从而形成了规模效应,大大提升了整体的资源利用率。
而对于数据库来说,可以从数据库的用户入手分析。用户使用数据库的目的,是希望借助数据库的计算和存储能力,完成数据的生产、存储、处理和消费的全链路过程。
因此,从能力上来说,数据库系统必须要能为客户的数据生产、存储、处理和消费全链路提供功能性和非功能性需求支撑。
传统的数据库系统软件是运行于冯•诺伊曼体系的硬件系统之上的。
冯•诺伊曼体系的基本原理是“存储程序和程序控制”:“存储程序”是指计算机运行的代码和数据都要有特定的地方进行保存;“程序控制”是指计算机按一定的逻辑顺序存取指令并有效执行。对应到数据库系统软件之上,数据库管理系统的本质就是用户希望借助数据库管理系统提供的“计算+存储”能力,通过计算节点的计算能力对存储中的数据进行用户指定的分析和计算来获得计算结果,最终实现数据的应用。
从数据库系统的本质来看,计算和存储以及各组件间的通信能力是数据库系统必须具备的。
因此,在云计算时代下,如何借助云计算提供的强大的计算、存储和通信能力,实现数据库系统在各个层面的高可用、高性能、弹性和高安全性是目前业界研究的重点。不同的架构与云计算架构的契合度是不同的。
对于单机版数据库,可以安装在一台云厂商提供的云服务器上,其计算和存储能力受限于云服务本身计算和存储能力的上限,而当前云服务器主流技术是虚拟化技术,因此可以认为单机版数据库如果部署在云主机上,符合如下性能限制公式:
数据库 < 云主机(容器)< 宿主机(物理机器)
因此,传统的单机版数据库管理系统部署在云主机上,其实只是把云主机当成普通服务器在用,并不能充分地利用云计算的优势。比单机版更进一步的是分布式的数据库管理系统,后者可以根据计算复杂度和存储规模,增加适当的节点,满足计算和存储要求,因此在一定程度上满足了可扩展性的要求。
但是对于集群中的单个节点,其处理瓶颈依然满足上述公式。尽管大多数数据库可以在云中运行,但想要充分体现和利用云平台的优势还要取决于数据库的体系架构。从长远来看,在云计算平台上设计、构建和运行数据库系统能够获得更大的价值,而设计出符合云计算的资源弹性管理特征的数据库系统架构才是云原生数据库的本质。
2022年11月3日云栖大会,李飞飞博士告诉“亲爱的数据”:
从资源到服务,或者从资源到能力视角的转换。这个话怎么理解呢,举一个具体例子,以前购买数据库,不管在哪个云厂商都是4/8G,8/16G,本质上都是资源形态来购买数据库实例,包年包月有价格。未来我们认为serverless以后,尤其我们数据库做到serverless化,比如和小邪团队合作,我们RDS all on ECS以后,才能实现无缝的弹性serverless能力。结合ECS,结合技术产品的FaaS,我们提供端到端的应用,整个链路的serverless化能力。
前两年大家喊serverless,我觉得大部分还是停留在概念,真正大规模商业化,至少我看到的,尤其在核心系统层面上,像数据库这种,今年是一个分水岭,阿里云数据库在今年借着云栖大会,我们正式重磅发布商业化serverless版本,我觉得这是一个分水岭。
我对接下来serverless商业化前景还是非常看好的,尤其在今天降本增效大环境下,我觉得这个东西还是会产生非常大的影响。(完)
亲爱的数据,出品