无服务器(Serverless)是PostgreSQL的未来

PostgreSQL多年来一直热门,但这种热度也对企业在选择一堆竞争对手中的供应商构成了挑战。当企业想要摆脱昂贵的传统关系型数据库管理系统(RDBMS)但仍想坚持使用RDBMS时,开源的PostgreSQL是一种吸引人且较为经济的替代品。但是选择哪种PostgreSQL呢?AWS曾经是明显的默认选择,有两个托管的PostgreSQL服务(Aurora和RDS),但现在有了微软,谷歌,Aiven,TimeScale,Crunchy Data,EDB,Neon等更多选择。

在接受采访时,Neon的创始人兼首席执行官Nikita Shamgunov强调,在这群渴望登上PostgreSQL宝座的竞争者中,未来的关键区别在于无服务器化。“我们是无服务器的,而所有其他的除了Aurora(它有一个无服务器选项)之外,都不是,”他宣称。如果他对无服务器对PostgreSQL的采用的重要性的看法是正确的,那么商业PostgreSQL的未来可能会在Neon和AWS之间的无服务器战争中决出胜负。

抛弃那些服务器 

在某些方面,无服务器是云的承诺的实现。例如,几乎从AWS开始的那一天起,AWS就一直将云推广为一种摆脱管理服务器的“无差别繁重的工作”的方式,尽管有像Amazon EC2或Amazon RDS for PostgreSQL这样的服务,开发人员仍然需要考虑服务器,即使涉及的工作量少了很多。

在一个真正的无服务器世界中,开发者根本不需要考虑底层的基础设施(服务器)。他们只需专注于构建应用,而云服务提供商则负责提供服务器。在数据库世界中,一个真正的无服务器产品将会分离存储和计算,并通过在节点集群中重新分配数据来替换数据库的存储层。

Kestra的开发者关系负责人Anna Geller解释说,无服务器的其他优势之一是它鼓励有用的工程实践。例如,如果我们可以同意“以这样的方式构建单个软件组件是有益的,即它们只负责一件事”,她注意到,那么无服务器有助于“鼓励易于改变和无状态的代码”。无服务器几乎强制开发者构建可复制的代码。她说,“无服务器不仅强迫你使组件小巧,而且还要求你定义执行函数或容器所需的所有资源。”

结果是:更好的工程实践和更快的开发时间,许多公司都在发现这一点。简而言之,无服务器有很多可爱之处。

Shamgunov认为运行无服务器PostgreSQL有两个主要好处。首先,开发者不再需要担心规模大小。开发者只需要一个连接数据库的字符串,而不用担心大小/规模。Neon完全负责这一切。第二个好处是基于消费的定价,有能力缩减到零(并支付零)。Ampt首席执行官Jeremy Daly表示,AWS并未提供缩减到零的能力。即使你的应用处于空闲状态,你也需要付费。

但在Neon中并非如此。正如Shamgunov在我们的采访中强调的,“在SQL世界中,真正实现无服务器是非常非常困难的。公司在尝试交付承诺的无服务器化到零的方式上存在着灰色地带,”但只有Neon目前可以做到这一点,他说。

人们在乎吗?他坚称答案是肯定的。“我们到目前为止了解到,人们真的在乎管理性,这就是无服务器明显的优势所在。[它使]消费变得如此简单。你需要管理的只是一个连接流。”随着公司构建越来越大的系统,拥有“越来越大的队列”,这变得越来越重要。在这里,“在某一时刻不用担心你的计算规模多大会更容易。”在其他系统中,除非你专注于调整资源的增减,并不断需要估算你的工作负载,否则你会面临失控的成本。但在像Neon这样完全的无服务器提供中并非如此,Shamgunov辩称。“只需要一个连接流,然后就可以启动。人们喜欢这一点。”

充分利用无服务器 

无服务器领域并非事事如意。例如,考虑到冷启动。你第一次调用函数时,无服务器系统必须初始化一个新的容器来运行你的代码。这需要时间,被称为“冷启动”。Shamgunov说,Neon已经“投入了不小的工程预算来解决冷启动问题。”这跟随着公司做出的一系列其他性能改进,如加快PostgreSQL连接。

Neon也独特地提供了分支。Shamgunov解释说,Neon支持写时复制分支,这“允许人们为每个预览或每个GitHub提交运行一个专用数据库。这意味着开发者可以分支一个数据库,创建数据的全复制,并为开发者提供一个独立的无服务器端点。你可以运行你的CI/CD管道,你可以测试它,你可以做容量或各种事情,然后把它合并回你的主分支。如果你不使用分支,你花费0美元。因为它是无服务器的。真正的无服务器。”

所有这些都帮助Neon实现了其“像Stripe一样易于消费”的承诺,用Shamgunov的话来说。他继续说,要赢得PostgreSQL的战斗,“你需要像Stripe一样对开发者友好。”简而言之,你需要是无服务器的。

更多技术干货请关注公号“云原生数据库

squids.cn,基于公有云基础资源,提供云上 RDS,云备份,云迁移,SQL 窗口门户企业功能,

帮助企业快速构建云上数据库融合生态。

你可能感兴趣的:(postgresql,serverless,数据库)