Supabase vs Neon:2026 年 Serverless Postgres 怎么选?

Supabase vs Neon:2026 年 Serverless Postgres 怎么选?

Next.js 开发者现在面临一个问题:数据库怎么选。传统 RDS 或 Cloud SQL 按月收费,开发环境闲置时照样计费。Serverless Postgres 解决了这个问题,但市场上两个主流方案走的路子不同。Supabase 是 BaaS 全家桶,Auth、Storage、Realtime 都有;Neon 只做数据库,把 Git 分支的概念搬到了 Postgres 上。Databricks 收购 Neon 后降价 80%,Supabase 也推出了预览分支功能。选哪个?看你项目需要什么。

产品定位:全家桶 vs 专注数据库

Supabase 的目标是替代 Firebase。一个项目创建下来,你拿到的不只是数据库,还包括用户认证(支持 OAuth、Magic Link、手机号登录)、文件存储(S3 兼容)、Edge Functions(Deno 运行时)、Realtime 订阅(基于 Postgres 的 pub/sub)。典型场景是周五晚上开始写个 SaaS,周日就能上线用户注册、文件上传、实时聊天。技术栈统一在一个控制台里,不用自己拼装。

Neon 只做 Postgres。核心卖点是两个:scale-to-zero(闲置时自动暂停,费用归零)和 Copy-on-Write 分支(秒级创建完整隔离的数据库副本)。Databricks 在 2025 年收购 Neon 后,存储成本从 $1.75/GB 降到 $0.35/GB,计算成本砍了 25%。2026 年 3 月的更新优化了冷启动时间,从休眠状态唤醒只需 0.4-0.75 秒。如果你只需要数据库,不想为用不上的 Auth 和 Storage 买单,Neon 更合适。

数据库架构:分支管理的差异

Neon 的分支是 Copy-on-Write 实现的。底层存储和计算分离,每个分支只保存增量变化,不会复制整个数据集。创建一个 10GB 数据库的分支只需要 1 秒,额外占用的空间也只是修改部分的大小。这个设计让分支真的可以像 Git 一样用:每个 PR 对应一个数据库分支,跑完测试就删掉,成本几乎可以忽略。2026 年的 Neon 还加强了 Schema Diff 工具,可以自动生成跨分支的迁移脚本。

Supabase 的分支是完整实例。创建一个预览分支(Preview Branch)时,Supabase 会启动一个独立的 Postgres 实例,运行 ./supabase/migrations 里的迁移文件,然后用 seed.sql 填充测试数据。每个分支有独立的 API 密钥、独立的 Auth 配置、独立的存储桶。优点是真实性高,功能完整;缺点是启动时间长(通常 30-60 秒),成本也高(Pro 计划才支持分支,每个分支都算完整实例)。Supabase 的分支更适合长期环境(staging、demo),不适合频繁创建删除。

关键区别:Neon 分支是数据库级的,Supabase 分支是平台级的。如果你只需要测试 schema 变更,Neon 更快更便宜;如果需要测试 Auth 流程或 Edge Functions 的行为,Supabase 分支能提供完整环境。

性能:冷启动 vs 永远在线

Neon 的免费和 Launch 计划会在 5 分钟无活动后自动暂停计算节点。下次请求来时需要先唤醒数据库,这叫冷启动。实测数据:Neon 的冷启动时间在 0.4-0.75 秒之间,跨区域场景下会到 1-2 秒。Reddit 上有开发者反馈,移动应用用户对这个延迟敏感,1 秒也会影响体验。解决办法是升级到 Scale 计划($69/月起),设置最小计算单元数,保持实例始终在线。

Supabase 不会自动暂停。你选择的计算规格会一直运行,查询响应始终是毫秒级。免费计划是 1 个共享计算单元 + 500 MB 存储;Pro 计划($25/月)起可以选专用计算(2-32 CU)。查询延迟通常在 10-50ms(p50),p99 会到 100-200ms,比 Neon 慢一点。原因是 Supabase 在 Postgres 前面加了 PostgREST(自动生成 RESTful API)和 PgBouncer(连接池),多了几层中间件。

如果是业余项目、开发环境、自动化测试,Neon 的 scale-to-zero 能省钱;如果是生产环境、需要稳定低延迟,Supabase 始终在线更可靠。Neon 也有 Scale 计划保持在线,但这时成本优势不明显。

功能对比:BaaS 全家桶 vs 纯数据库

Supabase 提供的功能清单:

  • Database:托管 Postgres,支持全部扩展(PostGIS、pgvector、TimescaleDB 等)
  • Auth:内置用户认证,支持 20+ OAuth 提供商(Google、GitHub、Apple 等),Magic Link、手机号 OTP、匿名用户
  • Storage:S3 兼容的文件存储,自动生成图片缩略图,支持 RLS 权限控制
  • Realtime:三种模式(Postgres Changes、Broadcast、Presence),适合聊天、协作应用
  • Edge Functions:Deno 运行时,可以写 TypeScript serverless 函数
  • Vector Embeddings:内置 pgvector 支持,对接 OpenAI 和 Hugging Face

Neon 提供的功能清单:

  • Database:托管 Postgres,全部标准扩展
  • Branching:Git 风格的数据库分支,Copy-on-Write 架构
  • Autoscaling:计算和存储自动扩展,scale-to-zero
  • Connection Pooling:基于 PgBouncer,减少连接开销
  • Time Travel:可以回溯到历史任意时间点的数据状态(付费功能)
  • Schema Diff:跨分支对比 schema,自动生成迁移脚本

如果你要搭建完整后端,Supabase 能省下自己集成 Auth0、S3、WebSocket 的时间。如果你已经有 Auth 方案(Clerk、NextAuth),只需要数据库,Neon 便宜很多。

定价模型:按需计费 vs 固定套餐

Neon 按用量计费。计算按 CU-hour(Compute Unit 小时),1 CU = 1 vCPU + 4 GB RAM。存储按 GB-month。免费计划给 0.5 GB 存储 + 100 CU-hour/月;Launch 计划($19/月起)自动扩展到 16 CU;Scale 计划($69/月起)最大 56 CU,可设最小计算单元数。Databricks 收购后,存储价格从 $1.75 降到 $0.35/GB,计算价格从 $0.14/CU-hour 降到 $0.106/CU-hour。

Supabase 是分层套餐。免费计划提供 500 MB 数据库 + 1 GB 文件存储 + 50,000 MAU;Pro 计划 $25/月,包含 8 GB 数据库 + 100 GB 文件存储 + 100,000 MAU,超出按量计费(数据库 $0.125/GB,存储 $0.021/GB,带宽 $0.09/GB)。Team 计划 $599/月起。重点是 Supabase 的数据库不会自动暂停,应用没流量也要按月付费。

成本对比例子:如果你的应用每天活跃 2 小时,数据库 2 GB,月活 5000 用户。

  • Neon Launch:计算 2h × 30 天 × 0.25 CU × $0.106 ≈ $1.6 + 存储 2 GB × $0.35 = $0.7,总计约 $2.3/月(但要加上 $19 最低消费,实际 $19/月)
  • Supabase Pro:固定 $25/月,包含 8 GB 数据库和全套功能

如果应用 24/7 运行,Neon 成本会快速上涨(24h × 30 × 0.25 CU × $0.106 ≈ $19/月,只算计算)。Supabase 的固定价格反而划算。

开发者体验:API 设计与工具链

Supabase 的 API 是自动生成的。创建表之后,PostgREST 会自动暴露 RESTful 端点;开启 Realtime 后,可以直接订阅表的变化。官方 SDK(JavaScript、Python、Dart 等)封装了这些 API,代码写起来很简洁。CLI 工具(supabase)支持本地开发(supabase start 会用 Docker 启动完整环境)、迁移管理、类型生成。2026 年 6 月的更新增加了默认分支管理,可以直接在 Dashboard 创建和切换分支。

Neon 的 API 是标准 Postgres 连接。你用什么 ORM(Prisma、Drizzle、TypeORM)都行,Neon 不强制特定的客户端库。官方提供了 serverless driver(@neondatabase/serverless),专门针对 Vercel Edge Functions 优化,支持 HTTP 而不是 TCP 连接,避免 Lambda 冷启动时建立连接的开销。CLI 工具(neonctl)可以管理分支、查看用量、导出连接字符串。分支管理流畅,可以用 GitHub Actions 自动为每个 PR 创建分支。

迁移工具方面,Supabase 内置迁移管理(基于 SQL 文件),Neon 需要你自己选工具(Prisma Migrate、Flyway、Liquibase 都行)。Neon 的 Schema Diff 功能可以对比两个分支的差异,生成迁移脚本,但需要手动执行。

生态集成:Next.js 和 Vercel 的支持

Neon 和 Vercel 是官方合作关系。在 Vercel 创建项目时,可以直接选 Neon 作为数据库,Vercel 会自动注入环境变量。更重要的是,Neon 支持 Preview Deployment 的自动分支:每个 PR 的预览部署可以自动关联一个独立的数据库分支,测试完成后自动删除。这个流程在 Next.js 项目里很流畅,不需要手动管理连接字符串。

Supabase 也支持 Vercel 集成,但预览分支功能需要 Pro 计划,而且分支是完整实例,启动时间长。Supabase 的 Branching 文档明确写了”requires Pro Plan”。如果你在免费计划,只能手动为每个环境创建独立项目。

其他框架方面,Supabase 对 Next.js、SvelteKit、Nuxt 都有官方示例和 SSR 支持文档;Neon 更通用,因为它只是标准 Postgres,任何支持 Postgres 的框架都能用。如果你用 Remix、Astro、SolidStart,Neon 的接入更简单,不需要学习 Supabase 的 API 风格。

适用场景:何时选谁

选 Neon 的场景

  1. Next.js + Vercel 项目:官方集成,分支管理流畅,scale-to-zero 节省成本
  2. 需要频繁创建测试环境:每个 PR 一个数据库分支,成本几乎为零
  3. 只需要数据库:你已经有 Auth 方案(Clerk、Auth0),不需要 BaaS 全家桶
  4. 业余项目或开发环境:闲置时不产生费用,适合预算有限的个人开发者

选 Supabase 的场景

  1. 快速搭建 MVP:周末项目,需要 Auth、Storage、Realtime 一站式解决
  2. 需要稳定低延迟:生产环境不能接受冷启动,查询需要始终快速响应
  3. 团队协作和权限管理:Supabase Dashboard 支持多人协作,RLS 权限控制开箱即用
  4. 聊天、协作类应用:Realtime 功能对 WebSocket 和 Presence 的支持完整

混合方案:一些团队在生产环境用 Supabase(稳定性优先),开发和测试环境用 Neon(成本优先)。因为 Neon 是标准 Postgres,迁移数据相对容易。

对比表格

维度 Supabase Neon
定位 BaaS 全家桶(数据库 + Auth + Storage + Realtime) 纯 serverless Postgres
架构 完整实例分支,包含全部服务 Copy-on-Write 分支,只存储增量
冷启动 无(始终在线) 0.4-0.75 秒(免费/Launch 计划)
查询延迟 10-50ms (p50),100-200ms (p99) 接近原生 Postgres,冷启动后 <20ms
免费计划 500 MB 数据库 + 1 GB 存储 + 50K MAU 0.5 GB 存储 + 100 CU-hour/月
付费起步 $25/月(Pro 计划,固定价格) $19/月(Launch 计划,按用量 + 最低消费)
分支功能 Pro 计划,完整实例,30-60 秒启动 所有计划,秒级创建,Copy-on-Write
Vercel 集成 支持,但预览分支需 Pro 计划 官方合作,自动为 PR 创建分支
功能范围 Auth + Storage + Realtime + Edge Functions 只有数据库 + 分支 + Autoscaling

结论

Neon 适合追求成本效率、需要频繁测试环境、已有技术栈的团队;Supabase 适合快速验证想法、需要完整后端服务的创业团队。2026 年的变化:Neon 在 Databricks 支持下降价明显,冷启动时间优化到可接受范围;Supabase 补齐了分支功能,也能支持预览环境工作流。如果用 Next.js + Vercel,Neon 的 DX 更好;如果需要 Realtime 或 Auth,Supabase 能省几天集成时间。选择取决于你看重灵活性(Neon)还是集成度(Supabase)。

Stay updated with our latest AI insights

Follow FuturePicker on Google
滚动至顶部