云原生之后,数据库的下一个方向是什么?

原创
2022/12/06 18:20
阅读数 9.1K

在去年的 DevCon上,PingCAP 联合创始人兼 CTO 黄东旭提出了一个猜想:“数据库作为一个软件形态本身会消亡,而数据库的平台化、微服务化会取代原来的数据库软件形式。”如今,这个猜想正在得到证实——几乎所有的数据库厂商,都在云上提供服务,并且还有不少数据库正在强化其云原生属性。

那么,云原生之后,数据库的下一步是什么?12 月 1 日,在 PingCAP DevCon 2022 大会上,黄东旭给出了答案:Serverless。

过去一年,PingCAP 一直在忙着把数据库技术变成数据库云服务,最后诞生了 TiDB Cloud。而今年开始,Serverless 则成为了 PingcCAP 的重点技术方向。

业内普遍认为,Serverless 最早可以追溯到 AWS Lambda 等无服务器云函数的引入,它允许开发人员通过简单的 API 调用来启动和停止应用程序。开发人员无需为其配置任何硬件即可运行代码。之后,这个概念被扩展到数据库领域。

Serverless,往往会被翻译为“无服务器”,但黄东旭认为,应该称为之“服务器无感化”。那么在软件开发这一更高的维度来看,则是“技术无感化”。他表示,Serverless 的核心,就是通过更高层次的抽象,把数据库的复杂性一步步降低,如此一来,开发者对具体的技术几乎不需要感知,就能把数据库用起来。

为了更好地理解 Serverless 与开发效率之间的关系,黄东旭引入了“抽象”的概念。

二十年前,如果要建一个网站,开发者除了要写代码,还要把大量时间花在与业务无关的事情上,比如买服务器、租机房、网络租用等,抽象程度很低,迭代速度很慢。
 
而后,公有云的出现把硬件、部署、网络等数据中心的复杂性抽象掉了,变成了虚拟机。开发一个应用,只需要在公有云上开个账号,把应用部署上去,按月给钱就行了。这比起自己去折腾数据中心来说,迭代速度又快了一步。
 
接下来,云原生的概念出现了。原来的计算单元是 VM 虚拟机,在云原生的世界里,计算单元进一步被抽象成了一个 Container。Container 是比 VM 虚拟机更高层次的抽象。在虚拟机时代,你依然要考虑 VM 挂了怎么办,但在 Container 世界里,Container 以及底下云的调度器都不用管,这些都被抽象掉了。这意味着,云原生软件的开发迭代速度会比传统基于 VM 的抽象程度更更快。

 

尽管已经来到云原生的时代,开发效率得到了前所未有的提升,但黄东旭仍然认为还不够。他表示,开发效率低下,开发者没有时间专注于于业务创新,这是阻碍数字化转型进一步深入的一个重要原因。Inapps 公司的研究支持了这一观点。“开发人员每天将 41% 的时间花在基础设施维护上,而不是创新或将新产品推向市场。” 

实际中,这一原因通常会被很多人忽视,但作为一个开发者,黄东旭却对此深有体会。“当我想要雄心勃勃地开发一个新的应用时,真正开发的时间可能只占整个时间的 10%-20%。大量时间都花费在买服务器、部署数据库、数据的备份恢复、CI/CD 搭建上,而不是在开发应用上面。”

 除了数据架构系统本身的复杂之外,数据库技术的多点开花也成为了开发者的压力。

 上大学的时候,老师告诉黄东旭,数据库这个东西很简单,你只要会写 SQL 就可以了。但工作以后,黄东旭发现, 除了SQL ,还有 OLTP、OLAP、时序数据库、图数据库以及各种各样稀奇古怪的数据库,且每一种数据库都有着自己复杂的概念与运维,想要用好它们,得学习一大堆东西。

 “业界有一句特别真实的笑话:别发布了,别做新的东西了,我真的学不动了······这些复杂的概念现在都没有被隐藏起来,反而全都透传给了开发者。”黄东旭说:“我一直想把数据库带回到我上大学的那个时候,那时候多简单。”

 这正是 PingCAP 在做的事:Serverless。这也是 PingCAP 所认为的,云原生之后,数据库的下一个方向。一个月前, PingCAP 发布了 TiDB 的 Serverless 云服务—— TiDB Cloud Serverless Tier 。

 据了解,TiDB Cloud Serverless Tier 具备四大特性:

  •  一是数据库内核稳定,可以在云上提供很好的弹性、自动 Failover、SQL 等非常硬核的基础能力。
  • 二是 HTAP 能够提供实时的一栈式数据服务。用户无需关心关心什么是 OLAP,什么是 OLTP。一套系统可以支撑所有负载,也不用担心 OLAP 负载影响 OLTP 的正常服务。
  • 三是 Serverless 部署成本极低,不用关心任何运维的细节。通过代码和 open API 就能控制集群的起停。尤其在处理更复杂或更大系统的时候,Serverless 能显著减低复杂性。
  • 四是真正地按需计费。Serverless 能够真正按照资源的消耗量来去计费。对于开发者来说,想用数据库的时候,召之即来,不用的时候,也不用给钱。任何时候访问,数据库都能对外提供服务。

黄东旭表示,设计 TiDB Cloud Serverless Tier 的一个原则就是,充分利用好云提供的不同服务,比如 Spot Instances、S3、EBS、弹性的 Load Balancer。它对云上所有的弹性资源都进行了有效的整合以及巧妙的调度,为用户提供了极致弹性的体验。“用户体验比原来的云原生数据库往前跨越了一步,细节更少,抽象程度更高。”

 他还表示,Serverless 架构还能解锁更多的可能性。“以 TiDB Serverless Tier 底下重度依赖的云对象存储服务——S3 为例,A 用户用 S3,B 用户也用 S3,数据共享就变得很简单。但在私有环境下,要先把数据下载,拷贝一份,再上传,然后才能做分析。如果数据量比较大,这几乎是难以想象的。而 Serverless 架构从技术层面来说,是能够做到数据共享的。”

 就当前而言, PingCAP 还只是迈出了 Serverless 路上的第一步。 

关于 Serverless 的未来,PingCAP 副总裁刘松早就畅想过:“下一代应用开发者的编程范式会发生重大的变化,就是因为有了 Serverless 这样‘技术无感化’的技术。未来所有的云厂商,包括数据库厂商都开始进入到了 Serverless 这张门票。最后的一个根本性变化,那就是三五年以后,90% 的应用开发者,都不用关心数据库是什么。” 

黄东旭想得更远。“未来,应用开发者对数据库的关注点会从数据库变成 API,甚至在更长远的的未来,只需要关注 web 前端开发就好。“

展开阅读全文
加载中

作者的其它热门文章

打赏
1
0 收藏
分享
打赏
2 评论
0 收藏
1
分享
返回顶部
顶部