2025年2月3日

Prisma Postgres:Serverless 数据库的未来

Prisma Postgres 是专为开发者打造的数据库——它终于可以投入生产使用了!它基于 Cloudflare、unikernels 和裸机基础设施构建,带来了一系列独特的优势,例如零冷启动、全球缓存、连接池等等!

Prisma Postgres: The Future of Serverless Databases

Prisma Postgres 已准备好投入生产 🎉

Prisma Postgres 建立在基于 unikernels 和 Cloudflare 基础设施的独特技术栈之上。以下是它实现的主要功能和优势:

  • 零冷启动:即时访问您的数据库,无需等待。
  • 慷慨的免费套餐:每月 10 万次操作、1GiB 存储空间和 10 个数据库。
  • 全球缓存层:查询响应可轻松在边缘缓存。
  • 内置连接池:扩展您的应用程序,无需担心 TCP 连接。
  • 性能优化提示:AI 驱动的建议,助您加快查询速度。
  • 简单按量付费定价:基于操作和存储的可预测成本。

立即通过遵循快速入门指南或直接在您的终端中运行此命令来尝试:

为未来而生的无服务器数据库

Prisma Postgres 采用第一性原理设计,并以开发者为中心。告别复杂的设置流程或数据库配置——在一分钟内设置您的 Prisma Postgres 实例并开始查询。

无服务器——但没有冷启动

无服务器数据库因其按量付费的定价模式而备受青睐,只有在使用数据库时才产生费用。然而,这种方法的一个缺点是,一旦数据库缩减到零,它就需要再次“唤醒”。这个唤醒过程被称为“冷启动”,可能会给您的用户带来严重的延迟。

Prisma Postgres 是第一个没有冷启动的无服务器数据库,这得益于其创新的架构和在裸机上运行的毫秒级云堆栈。

免费:10 万次操作,1GiB 存储和 10 个数据库

尝试新技术、构建原型或进行个人项目不应该花费您任何金钱!Prisma Postgres 提供了一个慷慨的免费套餐,让您无需担心成本即可启动任何项目。

这之所以可能,是因为 Prisma Postgres 基于 unikernels(可以理解为:“超专业化操作系统”)构建,这些 unikernels 以超轻量级微虚拟机运行。它们效率极高,可以在一台机器上运行数千个数据库实例。

作为用户,这意味着您可以在每个工作区免费创建最多十个数据库,用于体验和构建小型项目。您还可以获得 10 万次操作和 1GiB 存储空间,可以随意使用而无需担心成本。

简单可预测:任何人都能理解的定价

Prisma Postgres 的定价与其他数据库提供商不同。与传统定价模型不同,它根据数据库操作的数量GiB 存储量收费,而不是根据预先资源分配、计算小时或出站流量收费。

每次您使用 Prisma ORM 对您的 Prisma Postgres 实例进行创建、读取、更新或删除操作时,都会计为一次操作

有了这种定价模式,开发者通常会有的第一个担忧是:“如果出现大量意外流量,如何防止巨额‘意外’账单?” 简短的回答是:您可以设置消费限额,以控制预算并避免过高的成本。

Blog image

我们的目标是使定价比其他提供商简单得多。这种定价模型让您能够根据应用程序实际的流量更轻松地预测使用量并推断成本。采用传统定价时,扩展的负担落在您身上:如果您的流量有低谷和高峰(像大多数生产应用程序一样),那么您要么配置不足,冒着在高峰期停机的风险,要么配置过度配置,为数据库支付更多费用。

凭借 Prisma Postgres 的基于使用量的定价,您真正做到了按需付费!

从靠近用户的全球缓存中提供数据

Prisma Postgres 的一个主要优势是您可以在每查询级别配置数据库缓存。数据库结果随后会在边缘缓存,并从靠近的物理位置服务于您的应用程序。

配置缓存策略非常简单,只需添加带有 cacheStrategy 选项和 ttl 和/或 swr 选项即可

ttlTime-To-Live,存活时间)和 swrStale-While-Revalidate,旧数据再验证)选项向 Prisma Postgres 指示当前缓存数据应被视为新鲜的时长,以及是否应在后台进行缓存更新。Prisma Postgres 的缓存还支持按需缓存失效等高级用例。

您可以在我们的文档中了解更多关于不同缓存策略及其使用场景的信息。

借助内置连接池轻松扩展

如果您希望扩展您的应用程序并使其及时有效地响应用户请求,连接池是一个至关重要的组件。原因是创建数据库连接是一项昂贵的操作,因此您希望避免频繁重新打开新连接(或者在最坏的情况下,为每个新的用户请求重新打开连接)。

如果您的应用程序通过无服务器或边缘函数部署,这一点尤为重要,因为这些环境的短暂性使得无法保持数据库连接打开。结果是,当请求数量超过可用连接数时,您的应用程序将在流量高峰期间发生故障。

Blog image

Prisma Postgres 的内置连接池可帮助您预防这些故障场景,并轻松应对流量高峰!它还避免了因需要建立新连接而导致的查询延迟,因为连接只需打开一次,并在未来的请求中重复使用。

与 Prisma ORM 的一流集成

Prisma ORM 是 Node.js 和 TypeScript 生态系统中最受欢迎的 ORM。开发者们喜欢它的人类可读模式、自动化迁移和类型安全的查询。

以下是使用 Prisma ORM 建模数据的示例:

Prisma ORM 随后将此模式转换为 SQL 迁移并更新您数据库中的模式。表创建完成后,您可以使用 Prisma ORM 直观的查询 API 读取和写入数据。

Prisma Postgres 旨在与 Prisma ORM 无缝协作,利用其紧密集成的连接池以实现最佳性能和可伸缩性。虽然目前无法为其他 ORM 提供直接 TCP 连接,但我们正在积极努力在未来扩展兼容性。如果您想使用查询编辑器或其他工具,可以使用我们的本地 TCP 隧道与 ORM 之外的 Prisma Postgres 进行交互。

Netlify, Vercel 和 IDX:尝试我们的集成之一

Prisma Postgres 可通过 Netlify 扩展获取,该扩展允许您轻松地将 Prisma Postgres 实例与 Netlify 站点连接。如果您有兴趣,可以按照我们的教程将带有 Prisma Postgres 的 Next.js 站点部署到 Netlify

Vercel Marketplace 的集成即将推出。在此期间,您可以查看我们官方的Next.js 15 与 Prisma Postgres 示例

我们还与 Google Project IDX(一个出色的在线 IDE)的团队合作,创建了一个模板,以便您无需离开浏览器即可尝试 Prisma Postgres。它将很快上线!

基于下一代基础设施构建

让我们谈谈实现这些独特优势和功能的底层技术。

第一个在 unikernels 上运行的数据库

我们对 Prisma Postgres 背后的 unikernel 技术取得的进步感到非常兴奋!Unikernels 是“专用操作系统”,只包含运行应用程序实际所需的资源。

Unikernels 已经存在一段时间了,我们长期以来一直将其视为一种新兴技术趋势。当我们开始与 Unikraft——一家引领 unikernel 领域的公司——合作时,我们发现它们终于可以用于高性能生产工作负载了!因此,我们决定在其基础上构建 Prisma Postgres。

Unikernels 因在启动时间、吞吐量和内存消耗等方面提供卓越性能而闻名。

Unikraft:轻松实现快速、专用 Unikernels (研究论文,EuroSys 21)宣布:Prisma Postgres 集成到 Vercel Marketplace

与 Unikraft 合作,我们将 Prisma Postgres 二进制镜像的大小减少到原始 PostgreSQL 镜像的不到 20%,这使得 Prisma Postgres 架构更加高效。

这些专用二进制镜像作为 unikernels 部署在我们自己的裸机上;并且,由于 unikernels 最终是虚拟机,每个 PostgreSQL 实例都提供了强大的、硬件级隔离。

基于 Cloudflare 构建的缓存层

在 Prisma,我们是 Cloudflare 的忠实拥趸,并坚信它将在云计算领域留下重要印记。这就是为什么我们将 Prisma Postgres 缓存层构建在全球 Cloudflare 基础设施之上的原因。

该缓存通过 Cloudflare Workers 实现(因此它在边缘缓存数据)并使用官方的 Cloudflare 缓存 API。

如果您对 Prisma Postgres 技术栈的细节及其底层工作原理感到好奇,请查看这篇技术深度解析文章:Cloudflare、Unikernels 和裸机:Prisma Postgres 查询的生命周期

我们才刚刚开始!

Prisma Postgres 今天正式全面上市,这是我们公司的一个重要里程碑!我们非常感谢社区在过去几个月里提供的强大支持、宝贵反馈和整体热情。没有你们所有人,我们就无法将 Prisma Postgres 带到这个阶段。谢谢你们 💚

但我们不会止步于此:未来几周请准备好迎接更多激动人心的公告。

此外,本周我们将每天继续分享关于 Prisma Postgres 的精彩新闻和资源!

我们也很乐意在周五东部时间上午 10 点 | 中欧时间下午 4 点的直播中见到您。我们将探讨如何使用 Prisma Postgres 进行构建,并邀请一位工程师加入我们进行技术深度解析。

告诉我们您希望我们接下来在 Prisma Postgres 中添加哪些功能:请在 XLinkedIn 上联系我们,订阅我们的 YouTube 频道,并加入我们的 Discord


尝试 Prisma Postgres

不要错过下一篇文章!

订阅 Prisma 新闻邮件

© . All rights reserved.