什么是无服务器 PostgreSQL?
无服务器 PostgreSQL 是一种完全托管的云数据库模型,将计算和存储分离,实现独立自动伸缩。它适用于突发性或不可预测的工作负载,但不太适合始终在线、对延迟敏感的应用程序。文章还介绍了基于无服务器 Postgres 的 Lakebase 架构,该架构统一了事务和分析工作负载,减少数据重复,简化了对 AI 和实时应用程序的访问。
无服务器 PostgreSQL(Postgres)是一种完全托管的云数据库模型,它将计算和存储分离,允许两者根据需求独立自动伸缩。与传统数据库需要手动规划容量、持续运行固定计算资源不同,无服务器模型自动按需提供计算资源,并在空闲时缩减至零,从而消除了过度配置和闲置成本。
“无服务器”这个术语可能会产生误导,因为应用程序并非在没有服务器的情况下运行。底层基础设施依然存在,但完全由云提供商抽象和管理,用户无需直接配置或维护服务器设置、扩展和维护等任务。
传统与无服务器 PostgreSQL 的对比
传统 Postgres 部署需要手动设置基础设施、预先规划容量,并持续运行固定计算资源,无论工作负载如何。扩展需要手动干预或预设阈值,且即使数据库空闲也会产生持续费用。
无服务器 Postgres 则采用不同的模式:计算资源根据工作负载按需提供,自动伸缩,并在不使用时缩减至零。计费基于实际消耗,而非预留容量。
Lakebase 架构:下一步演进
Lakebase 架构构建在无服务器 Postgres 之上,同时解决其局限性。它将事务数据库与湖仓一体化基础相结合,创建一个单一平台,使操作和分析工作负载能够共同运行。这意味着不再需要为不同任务设置独立系统,从而减少数据重复,简化数据访问。
Lakebase 架构的关键组件包括:解耦的计算和存储、临时计算(按需启停)、基于日志的存储系统以及对象存储基础。它还包含一个控制平面,用于管理伸缩、路由和生命周期事件。
主要无服务器 PostgreSQL 提供商
- Databricks Lakebase:基于 Lakebase 架构的操作数据库,专为 AI 代理和实时应用设计,统一事务和分析工作负载。
- Amazon Aurora Serverless v2:AWS 提供的 Postgres 兼容托管服务,支持细粒度自动伸缩,适合企业工作负载。
- Neon:完全解耦计算和存储的 Lakebase 架构,支持缩减至零和数据库分支功能。
定价与性能权衡
无服务器 Postgres 通常按计算、存储和数据传输三个方面计费。对于可变或不可预测的流量,这种定价模式效率很高,但对于高流量或始终在线的工作负载,总成本可能超过预配实例。
冷启动延迟是主要性能问题之一:当无查询时,系统会挂起计算资源,新查询需要重新激活,延迟从毫秒到几秒不等。因此,无服务器 Postgres 最适合突发性或不可预测的工作负载,而不适合始终在线、对延迟敏感的应用程序。
总之,无服务器 PostgreSQL 通过自动伸缩和按使用付费简化了数据库管理,但需要权衡冷启动延迟和成本。而 Lakebase 架构则进一步推动了统一数据平台的发展。