2025年2月3日

Prisma Postgres:无服务器数据库的未来

Prisma Postgres 是专为开发者打造的最佳数据库,并且终于可以用于生产环境了!它基于 Cloudflare、unikernel 和裸金属基础设施构建,带来了一系列独特的优势,例如零冷启动、全局缓存、连接池等等!

Prisma Postgres 已准备好用于生产环境 🎉

Prisma Postgres 基于独特的堆栈技术构建,该技术基于 unikernel 和 Cloudflare 基础设施。以下是它实现的主要功能和优势

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

立即尝试,按照快速入门进行操作,或者只需在终端中运行此命令

为未来构建的无服务器数据库

Prisma Postgres 从第一性原理出发进行设计,并以开发者为中心。不再有复杂的设置流程或数据库配置 — 只需设置您的 Prisma Postgres 实例,即可在一分钟内开始查询。

无服务器 — 但没有冷启动

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

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

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

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

这成为可能,是因为 Prisma Postgres 基于 unikernel可以理解为:“超专业化的操作系统”),以超轻量级微虚拟机 (microVM) 形式运行。这些 unikernel 非常高效,可以在单台机器上运行数千个数据库实例。

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

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

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

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

对于这种定价模式,开发者通常首先会担心的问题是:如果出现大量无法预见的流量,如何防止出现巨额的意外账单?简而言之:您可以设置消费限额,以便控制您的预算并避免过高的成本。

我们的目标是使定价比其他提供商更加简单。这种定价模式使您可以根据您的应用程序将看到的实际流量更轻松地预测您的使用情况并推断成本。使用传统定价,扩展的负担落在您身上:如果您有低流量期和高流量期(就像大多数生产应用程序一样),那么您要么配置不足并面临在繁忙时期停机的风险,要么配置过度并为您的数据库支付更多费用。

使用 Prisma Postgres 基于使用量的定价,您真正只需为您需要的东西付费!

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

Prisma Postgres 的一个主要优势是,您可以在每个查询级别配置数据库缓存。然后,数据库结果将在边缘缓存,并将从附近的物理位置提供给您的应用程序。

以下是如何轻松配置缓存策略的方法,只需添加带有 ttl 和/或 swr 选项的 cacheStrategy 选项

ttl (生存时间) 和 swr (陈旧数据再验证) 选项向 Prisma Postgres 指示当前缓存的数据应被视为新鲜的时间长度,以及是否应在后台进行缓存更新。Prisma Postgres 的缓存还支持高级用例,例如 按需缓存失效

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

通过内置连接池轻松扩展

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

如果您的应用程序是通过无服务器或边缘函数部署的,这一点尤其重要,在这些环境中,由于环境的短暂性,无法保持数据库连接打开。后果是,当请求数量超过可用连接数量时,您的应用程序将在流量高峰期失败。

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。它很快就会上线!

构建在下一代基础设施之上

让我们来谈谈支持这些独特优势和功能的底层技术。

首个在 unikernel 上运行的数据库

我们对 Prisma Postgres 背后的 unikernel 技术的进步感到非常兴奋!Unikernel 是“专业化操作系统”,仅包含运行应用程序实际需要的资源

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

Unikernel 以在启动时间、吞吐量和内存消耗等方面提供卓越性能而闻名,仅举几例指标。

Unikraft: 轻松实现快速、专业的 Unikernel (研究论文,EuroSys 21)

与 Unikraft 合作,我们能够将 Prisma Postgres 二进制映像缩小到原始 PostgreSQL 映像大小的 不到 20%,从而使 Prisma Postgres 架构更加高效。

这些专业化的二进制映像作为 unikernel 部署在我们自己的裸金属机器上;并且,由于 unikernel 最终是虚拟机,因此每个 PostgreSQL 实例都提供强大的硬件级隔离。

构建在 Cloudflare 上的缓存层

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

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

如果您对 Prisma Postgres 技术堆栈的详细信息以及它的底层工作原理感到好奇,请查看这篇技术深度文章:Cloudflare、Unikernel 和裸金属:Prisma Postgres 查询的生命周期

我们才刚刚开始!

今天 Prisma Postgres 的正式全面上市对我们公司来说是一个重要的里程碑!我们非常感谢过去几个月中我们社区的鼎力支持、宝贵反馈和整体热情。没有你们大家,我们不可能将 Prisma Postgres 带到今天这一步。谢谢你们 💚

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

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

我们也希望在周五美国东部时间上午 10 点 | 欧洲中部时间下午 4 点的直播中见到您。我们将探讨您可以使用 Prisma Postgres 构建什么,并有一位工程师加入我们进行技术深度探讨。

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


试用 Prisma Postgres

不要错过下一篇文章!

注册 Prisma 新闻通讯