Serverless数据库是趋势,技术无感化才是终极目标
Posted CSDN云计算
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Serverless数据库是趋势,技术无感化才是终极目标相关的知识,希望对你有一定的参考价值。
回顾数据库的发展,曾经历过三次行业寒冬期。第一次发生在上世纪60年代末,虽然数据无时无刻不存在,但当时的人们根本不知道该如何管理数据,当关系型数据库随着E.F.Codd及他的理论出现时,由此开创了关系型数据库的历史潮流(Edgar Frank Codd博士是关系数据库的鼻祖。首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究)。第二个寒冬在上世纪80年代,人们不知道该如何大规模地查询数据,于是数据仓库挽救了大局。2000年左右,互联网的冲击使得数据库系统必须扩展10至100倍以上,于是非关系型数据库诞生了。
数据库技术作为当下IT系统的核心,这些年来不断地演进。过去,开发者95%的时间都花费在处理数据上。但有没有更高效的数据库系统出现,使得开发者们将50%或更多的时间放在思考和开发应用上。
近日,在PingCAP DevCon 2022大会上,PingCAP联合创始人兼CTO黄东旭表示,解放开发者的生产力是提高开发效率的重中之重,未来,开发者们不需要理解数据库技术,可以将更多精力放在应用创新和业务逻辑开发上,因为Serverless将不断地优化开发者的现有流程,让复杂的数据处理变得随手可得,让“高效”彻底落到每一位开发者的日常中。
一、数据库变革正当时
在讲Serverless之前,我们需要先搞清楚一个问题:开发者们到底需要一个什么样的数据库?
对于数据库厂商而言,大家都在不断提升产品能力,不断贴合用户的需求。但对于数据库厂商来说,精准的用户群体其实是“真正开发应用的开发者”,也可以说是真正选择和使用数据库的人。在一项关于“在你的组织内部到底是谁在选择Database”的调查中,排名第一的是架构师、第二是开发者、第三是 DBA,三者加起来达到了超过 80% 的占比。这些人都是广义上的开发者,对于数据库软件来说,真正的用户其实就是这些人。
搞清楚了真正的受众,接下来面临的问题就是:未来的数据库应该是什么样的产品形态?
黄东旭告诉我们,根据调查,在架构师、开发者、DBA的日常工作中,有39%的时间在做业务创新、在写代码,41%的时间在做基础设施维护,如买服务器、部署服务器、运维等等。有时候作为一名程序员,当你雄心勃勃地想做一个新的东西时,却会发现真正开发应用的时间可能只占整体工作时间的10%-20%左右,更多的时间都花费在买服务器、部署数据库、数据的备份恢复、CI/CD搭建上,而非开发应用上。
这就是开发者们真正的痛点所在。他们脑海里有无数的创新和想法,但却不得不一头扎进处理基础设施的琐事中,等抬起头时,留给他们真正开发应用的时间已经没多少了。黄东旭认为,当今把开发者拖慢的最核心原因是开发者的生产力。如果开发者的生产力提高了,业务创新、应用创新的速度就会变得更快。
再者,在信息化、数字化技术爆发增长的这些年,我们发明了太多的技术,太多不同的数据库,而想要用好它们,开发者们就必须要把每个技术学习一遍。对于开发者而言是非常大的成本。这些复杂的概念和逻辑使得连计费方式和筛选的策略对于用户来说都非常复杂,复杂到需要使用另外一套工具去做优化,以帮助用户作出正确的决策,最近很火的FinOps就所以说明这个问题。
所以,今天的开发者到底是怎样去思考开发应用的?针对这个问题,黄东旭分享了一个最近看到的一家偏向于开发者开发流程和体验的平台Vercel,在这个平台上,应用开发者只需要去写代码,其他发布、部署、CDN、流量等问题全都由Vercel封装好了,开发者可以将100%的时间都放在业务逻辑开发上。
这是一个非常好的方向。黄东旭认为,未来应用开发者对数据库的关注点,会从数据库编程API,甚至在更长远的未来,只需要关注Web前端开发就好了。
Serverless数据库之所以广受欢迎,也是因为Serverless让开发人员不需要考虑那么多物理容量或其他基础设施资源管理责任,让开发人员的注意力从服务器级别转移到任务级别。
综上所述,开发门槛正在变低,应用开发者越来越多,那数据库、数据技术、数据处理技术栈,怎么解决复杂性带来的矛盾呢?
二、Serverless在云原生基础上进一步“抽象”
业界有一句特别真实的笑话:“别发布了,别做新的东西了,我真的学不动了……”既体现了当今技术的层出不穷,也表达了开发者们深深的无奈。
黄东旭认为,要解决复杂性的问题,可以用抽象的思路进行,并且抽象程度越高,开发效率就越高。
那么,在数据库的世界里的“抽象”是如何去体现的?黄东旭举了个例子:抽象程度最低的是云本身的基础设施。比如你要在云上私有化部署一个数据库,需要自己维护mysql或VM,这时你看到的是云的基础设施,它的抽象程度很低。再往上一层,比如PingCAP几年前要基于云提供的基础设施,如虚拟机、S3、容器这些东西去开发出一个叫TiDB的数据库。TiDB 提供了SQL能力,Scalability 能力,以及低延迟、高可用、分布式事务、HTAP、Geo-partition 等等一大堆数据库内核层面的能力。“当然,这个是过去 TiDB 发生的事情,在这个阶段已经有很多用户说都表示TiDB 挺好用的了。”黄东旭笑道。
“抽象”的下一步是什么?PingCAP给出的答案是“Serverless”。如果“抽象度越高,开发效率越高”的理论是成立的,那么Serverless 就会变成在云原生之后新的“抽象”。对于数据库来说 Serverless HTAP 是一个更高级别的“抽象”,它意味着更高的开发效率。黄东旭告诉我们,PingCAP在一个月前发布了TiDB Cloud Serverless Tier beta版,可以在20秒的时间内创建一个HTAP数据库集群并得到流畅的开发体验。
据黄东旭介绍,Serverless HTAP给开发者可以解决开发者哪些痛点?第一,一键创建,不需要关心任何数据库启动和部署细节;第二,自动缩放,不需要考虑基础设施,Serverless可以跟着业务的负载变化而自动匹配;第三,HTAP Database提供了一栈式的 SQL 能力;第四,提供更细粒度的计费,Pay-as-you-go;第五,更贴合现代开发者习惯,和应用开发体验深度整合。
根据这些思路,PingCAP用了大半年时间将这个产品的第一个原型做出来了,并在11月1日上线公测了。也就是刚刚提到的TiDB Serverless Tier。
不过,实现这样一个云端Serverless HTAP数据库服务,背后也不是一帆风顺的。PingCAP一开始花了很长时间去构建了一个稳定的数据库内核,可以在云上提供很好的弹性、自动 Failover、SQL 等非常硬核的基础能力。但这些都是基础能力。黄东旭认为,基础能力就像一台车里的发动机,基础能力应该隐藏在发动机里,而作为一个开车的人,不必关心变速箱里有哪些特性。这也是PingCAP始终坚持的原则。
不仅如此,TiDB Cloud Serverless Tier背后还有许多技术细节,比如,PingCAP内部有一个原则:利用好云提供不同的服务。因此,TiDB Cloud Serverless Tier背后对于云上所有的弹性资源都进行了很好的整合以及巧妙的调度,提供了一个极致弹性的用户体验。这个用户体验比原来的云原生数据库更往前跨越了一步,细节更少,抽象程度更高。
与此同时,在TiDB Cloud Serverless Tier上线后,就有两个令人惊喜的表现。第一个有效降低了成本,它把TiDB在云上的成本降低了,仅最小集群就将成本降到了1/5。第二是启动时间的缩短,在今年3月份时,在云上启动一个新的TiDB集群还需要15分钟,自行部署时间更长,而如今启动TiDB Cloud Serverless Tier只需要20秒。“并且你不用关心它的扩展性,即使业务流量陡增,它也能够很好地扩容上去,没有流量的时候还能自动缩回来,这会极大地改变开发应用的使用流程和体验。”黄东旭表示。
三、Serverless数据库是趋势,技术无感化是下一步重点
据Gartner的报告显示,今年全球企业在云上的投入已经超过了私有化数据中心的投入,且每年的增速都非常快。在数据库领域也有同样的趋势,云数据库和私有化部署的数据库软件的占比越来越接近。
2019年,云上的数据库服务还不到传统数据库的一半,但今年几乎接近一样,可以预见明年一定会超过。“在未来的数据库产品中,云一定会变成数据库服务的承载平台。这是数据库领域的一大趋势。”黄东旭说道。
但无论如何,数据库领域未来真正重要的前进方向,最终还是落到“流畅的开发体验”上,也是作为基础软件提供商的担当。黄东旭认为,Serverless不一定是数据库的最终形态,但技术无感化将是数据库乃整个基础设施软件的终极目标。
以上是关于Serverless数据库是趋势,技术无感化才是终极目标的主要内容,如果未能解决你的问题,请参考以下文章
黄东旭:开发者的“技术无感化”时代,从 Serverless HTAP 数据库开始 | PingCAP DevCon 2022
你需要了解的未来技术趋势——serverless怎样改变未来架构