(无服务器技术的优势)腾讯云数据库负责人、数据库领域资深技术专家林晓斌表示,以PostgreSQL for Serverless为例,相比传统的PostgreSQL,首先它具有云原生的能力,能够快速地扩容,又能够自动地缩容,像海绵一样,吸水的时候自动扩容,不用的时候挤一下水,容量就会小下去。 众所周知,传统数据库需要根据业务实际使用情况手动调整数据库容量大小,即使是数据库方面的专家,面对波动剧烈的应用,在兼顾性能及成本的情况下,要手动管理数据库容量也并不是一件容易的事情,而PostgreSQL for Serverless则很好的平衡了这点。 其次,正因为可以动态管理数据库容量大小,即能根据业务请求的繁忙程度进行自动响应资源,且用户不需要为数据库的闲时进行付费,仅需对实际占用的数据容量和数据库活动时的响应资源进行付费即可,因此Serverless能极大降低用户的使用门槛,用户无需预先规划好资源,具备高度弹性、高可用,按需使用,按量付费等特点,能让用户省心、省力、省钱。 第三,PostgreSQL for Serverless DB产品本身是基于PostgreSQL数据库的,所以从能力上百分之百兼容PostgreSQL的语法和功能。同时云上面的PostgreSQL本身提供的高可靠、高性能、高可用的能力是天然集成的,备份恢复、自动回档,不用怕误删等能力。那么使用无服务器数据库有什么不足或者缺点吗?专家认为,至少在两个方向上,需要云服务商在ServerlessDB上进行努力。 一是与那些在专有服务器、虚拟机或容器中运行的数据库相比,一个不被经常使用的数据库可能会出现严重的响应延迟问题。 如果云服务提供商发现无服务器数据库较长时间未被使用,则会将其完全地关停。这就意味着,如果数据库需要一段时间才能启动运行,则会出现延迟的现象。 二是无服务器数据库常被草率地认为比传统数据库更为安全。实际上与传统架构相比,由于无服务器架构的应用组件更多,随着应用入口点的增多,它受到攻击的可能性也会呈指数式增长。02
有了Serverless DB,无服务器生态就齐活了
在云计算领域,任何一项新技术或者新服务,在第一个玩家推出后,几乎在两三年内所有的头部玩家都会跟随,推出相应的技术与服务。 Serverless技术是这样,Serverless数据库领域也依然。AWS在2017年的re:Invent大会上,宣布推出云端数据库的无服务器服务,数据库将能自动启动、关闭以及缩放规模。 AWS云端数据库无服务器服务Aurora Serverless正式支持MySQL和PostgreSQL,Aurora Serverless能根据流量自动缩放规模,提供用户按需付费使用的数据库服务。 用户只需要创建数据库端点,选择想要使用的数据库引擎以及容量。用户可以设定Aurora Serverless最大与最小容量,用户的应用会连接到代理(Proxy Fleet)中,代理会将工作负载路由到具自动扩展能力的资源池。用户可以设定在满足特定条件,像是达到设定的CPU使用量阈值时进行扩展。 AWS提到,资源池中都是“热资源”,扩展的速度很快,运算资源可以随时增加。以应付突如其来的需求。由于Aurora的数据库计算资源以及储存层是独立的,数据库容量设定不会影响数据库的效能。 在Amazon RDS管理控制台,用户还可以简单地透过滑鼠点击,在标准以及无服务器组态中切换。腾讯云正式发布的Serverless数据库新品——PostgreSQL for Serverless,相比普通云上数据库,能够最快1秒完成部署,成本降低70%。 林晓斌表示,此次发布的数据库是国内第一家基于Serverless技术开发的新型数据库,既拥有Serverless化带来的低成本、易扩容等优点,又包含PostgreSQL实例本身的高可用、高性能、高安全等特性。这款数据库的发布是腾讯云数据库拥抱云原生战略的又一落地,也将进一步巩固腾讯云数据库在国内的优势。 由于没有初始化过程,用户在购买之后只需要通过腾讯云相关组件一键创建数据库实例,最快1秒钟就可以完成部署,大幅提升部署效率。 同时,腾讯云PostgreSQL for Serverless在可用性和安全性等方面也具有突出优势,包括支持“一主一备”,当主实例出现意外导致不可用时,将自动启动备份实例,业务连接也将同步转移至备用实例,有效避免了各种意外导致数据库无法使用的风险。此外,还支持标准PostgreSQL数据库本身的功能优点,如丰富的插件、便捷的备份恢复等特性。 据介绍,这款数据库主要针对当前开发者在使用数据库过程中的痛点问题,包括成本居高不下、性能体验差等设计的。比如对于低流量应用的用户,通常无法最大化使用最低配标准实例的性能,但是需要为多余的性能进行付费。借助 PostgreSQL for Serverless,可避免为多余的性能进行付费。另外,对于不可预测的工作负载、不常用的应用程序、以及开发和测试数据库等场景,这款数据库也具有极强的应用价值。目前,市场上也出现了一些开源的Serverless数据库。如Firebase是一个移动平台,由互补的功能组成,方便开发者根据需要进行混合匹配,也可以帮助开发者快速开发高质量的应用,扩大用户群,提高收益。 而FaunaDB则是一个分布式、多租户、多模型的数据库系统,具有强大的查询语言。 国外专家David Yahalom认为,现在有很多可伸缩的关系数据库技术提供了读取或读写伸缩功能,如Oracle RAC、Amazon Aurora、Percona XtraDB、ClustrixDB、NuoDB 等。不过它们都不是本地无服务器产品。 当然,现在也有针对无服务器数据库的创新解决方案,其中就包括 FaunaDB(无服务器和全局复制的 NoSQL 数据库)、Google Cloud Spanner(强一致的分布式关系型数据库)或 Microsoft Cosmos DB(具有灵活一致性模型的无模式的多模型数据库)。但是想要使用这些数据库技术的传统应用将不得不进行大量的重写或重新平台化。 支持真正无服务器的关系型数据库,一方面要具有完整的服务器抽象和伸缩能力,另一方面要完整地支持ANSI SQL和ACID,这是一个相对较新的创新解决方案。03