2025 年 2 月 3 日

Prisma Postgres:Serverless 数据库的未来

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

Prisma Postgres: The Future of Serverless Databases

Prisma Postgres 已准备好投入生产 🎉

Prisma Postgres 基于 unikernel 和 Cloudflare 基础设施的独特技术栈构建。以下是其主要特性和优势

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

现在就通过 快速入门 尝试,或者直接在终端中运行此命令

为未来而生的 Serverless 数据库

Prisma Postgres 的设计从第一性原理出发,并充分考虑了开发人员。不再有复杂的设置流程或数据库配置——只需一分钟即可设置您的 Prisma Postgres 实例并开始查询。

Serverless——但没有冷启动

Serverless 数据库很棒,因为它们的按需付费定价模型只在数据库使用时产生费用。然而,这种方法的一个缺点是,一旦数据库缩减到零,就需要再次“唤醒”。这个唤醒过程被称为冷启动,可能导致用户严重延迟。

Prisma Postgres 是第一个没有冷启动的 Serverless 数据库,这归功于其创新的架构和运行在裸机上的毫秒级云栈。

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

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

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

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

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

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

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

对于这种定价模型,开发者通常会有的首要担忧之一是:如何防止在出现大量意外流量时收到巨额“惊喜”账单?简短的回答是:您可以设置支出限制来控制您的预算,避免过度成本。

Blog image

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

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

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

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

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

ttl (生存时间) 和 swr (陈旧时重新验证) 选项指示 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。它很快就会上线!

基于下一代基础设施构建

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

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

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

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

Unikernel 以在启动时间、吞吐量和内存消耗等方面提供卓越性能而闻名,这些只是众多指标中的一部分。

Unikraft:简单快捷的专用 Unikernel (研究论文,EuroSys 21) 宣布:Vercel Marketplace 的 Prisma Postgres 集成

与 Unikraft 合作,我们成功地将 Prisma Postgres 二进制镜像的大小减少了 80% 以上,使其比原始 PostgreSQL 镜像小 5 倍,从而使 Prisma Postgres 架构效率更高。

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

基于 Cloudflare 构建的缓存层

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

缓存通过 Cloudflare Workers 实现(因此它在边缘缓存数据),并使用官方的 Cloudflare 缓存 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 新闻通讯

© . This site is unofficial and not affiliated with Prisma Data, Inc.