如果你对该问题感兴趣的话,推荐你看看《2022年中国数据库行业年度分析报告》这篇报告,下面是部分摘录的内容,具体请以原报告为准。
在早期,用户普遍是自建数据库。作为最传统的数据库应用方式,用户在自己的机房中部署, 不仅需要考虑物理部署和运维的方方面面,传统数据库的灵活性和可扩展性也很低,且价格昂贵、 维护成本很高。随着云计算的普及,数据库上云成为应用主流。数据库在云上以 PaaS 服务的形态、 以租用服务的方式提供,用户不用再关心机房的物理部署。由于这个阶段的云数据库只是简单地把数据库从本地迁移到云端,在架构上并没有做太多改变,因此数据库的弹性依然受限。
为了解决这一问题,云原生数据库出现了。由于云原生数据库完全为云设计,让计算、存储资 源完全解耦,使用分布式云存储替代本地存储,将计算层变成无状态,从而能够充分发挥云的优势, 具备弹性可扩展的特性,让用户不需要担心日常业务扩容问题。但云原生数据库也有自己的瓶颈, 即不能按需自动缩放,也不能按更小粒度实现按使用量付费。当用户遇到数据库扩容的突发需求时, 就只能根据业务实际使用情况手动调整数据库容量大小。
尽管这种方式的确可行,但却会耗费大量的时间和成本。即使是数据库方面的专家,面对波动 剧烈的应用,在兼顾性能及成本的情况下,要手动管理数据库容量也并不是一件容易的事情。
在此背景下,Serverless 数据库出现了。由于具备完全自动化的扩容能力,Serverless 数据 库能够随着用户业务的请求数的增加和减少,智能化的“膨胀”和“缩小”,实现资源的自动“吞 吐”。当流量洪峰来临时,可以自动调配资源支持;流量进入低谷时,则可以自动释放掉资源,节 约成本。这种能力正是 Serverless 理念的体现,将数据库底层和业务不相关的部分抽象出来,为 开发者提供直接的运行环境,让开发者不需要关心服务器基础设施,就可以直接调用函数平台完成 函数运行。服务器的逻辑和状态也是由服务提供方管理,服务只有在需要的时候才会自动伸缩,从 而让数据库获得了极致的弹性,且开发者不用再为复杂的底层基础设施所困扰。