关于 moai-platform-database-cloud
moai-platform-database-cloud 汇总 Neon、Supabase 和 Firestore 的云数据库选型与实现指导,面向构建应用的开发者。内容涵盖平台差异、常见数据模式及迁移和 ORM 集成。
主要功能
- 01比较 SQL 与 NoSQL 方案
- 02指导 Neon 分支与连接管理
- 03介绍 Supabase 实时功能与 pgvector
- 04说明 Firestore 离线同步与安全规则
- 05提供迁移及 ORM 集成模式
适用场景
- 01为无服务器应用选择 PostgreSQL 平台
- 02为多租户或 AI 应用配置数据库
- 03为移动应用设计离线数据同步
- 04规划数据库迁移与连接方式
MCP 相关
指导通过 Context7 MCP 工具查询 Neon、Supabase 和 Firebase 的文档。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ modu-ai/ moai-adk --skill moai-platform-database-cloud安装后在 Claude Code 中输入/moai-platform-database-cloud确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
reference/comparison.mdfirestore.mdneon.mdsupabase.md详细介绍
moai-platform-database-cloud:云数据库平台专家
快速参考
云数据库平台覆盖范围:整合 Neon(无服务器 PostgreSQL)、Supabase(支持实时功能的 PostgreSQL 16)和 Firebase Firestore(支持离线同步的 NoSQL)的专业知识。
平台对比
Neon 提供无服务器 PostgreSQL,支持自动扩缩、数据库分支和计算资源缩至零,以优化成本。适用于无服务器应用、预览环境,以及搭配连接池的边缘部署。
Supabase 提供 PostgreSQL 16,并支持用于 AI/ML 的 pgvector、适用于多租户应用的行级安全、实时订阅,以及集成式身份验证和存储。适用于需要实时功能和向量搜索的全栈应用。
Firestore 提供 NoSQL 文档数据库,支持实时同步、离线缓存、安全规则和针对移动设备优化的 SDK。适用于移动优先应用、离线优先架构和跨平台开发。
快速选择指南
需要支持自动扩缩的无服务器 PostgreSQL:使用 Neon。
需要用于 CI/CD 的数据库分支:使用 Neon 分支。
需要兼容边缘环境的数据库:使用带连接池的 Neon。
需要用于 AI/ML 的向量搜索:使用带 pgvector 的 Supabase。
需要行级安全:使用 Supabase RLS 策略。
需要实时订阅:使用 Supabase 实时功能或 Firestore 监听器。
需要离线优先的移动应用:使用支持离线持久化的 Firestore。
需要支持实时功能的 SQL:使用 Supabase。
需要 NoSQL 灵活性:使用 Firestore。
数据库类型选择
SQL 与 NoSQL 的选择:对于具有复杂关系的结构化数据、ACID 事务和灵活查询,选择 SQL(Neon、Supabase)。对于灵活的架构、离线优先的移动应用,以及客户端之间的实时同步,选择 NoSQL(Firestore)。
PostgreSQL 变体:需要无服务器自动扩缩和分支时,选择 Neon。需要集成功能(身份验证、存储、实时功能)和 pgvector 时,选择 Supabase。
平台选择矩阵
用例匹配
无服务器应用可利用 Neon 的自动扩缩和计算资源缩至零功能,大幅降低成本。
多租户 SaaS 可利用 Supabase 行级安全,实现自动租户隔离。
AI/ML 应用可利用 Supabase pgvector 实现向量嵌入和相似性搜索。
实时协作可利用 Supabase Postgres Changes 或 Firestore 实时监听器。
移动优先应用可利用 Firestore 离线缓存和针对移动设备优化的 SDK。
预览环境可利用 Neon 数据库分支,为每个 PR 创建独立数据库。
边缘部署可利用 Neon 连接池,兼容边缘运行时。
跨平台应用可利用 Firestore 为 iOS、Android、Web 和 Flutter 提供的统一 SDK。
功能对比
无服务器计算:Neon(自动扩缩、计算资源缩至零)、Supabase(Supavisor 连接池)、Firestore(内置无服务器功能)。
数据库分支:Neon(即时写时复制)、Supabase(不支持)、Firestore(不支持)。
向量搜索:Neon(通过 pgvector 扩展)、Supabase(原生 pgvector,支持 HNSW)、Firestore(不支持)。
实时订阅:Neon(通过逻辑复制)、Supabase(原生 Postgres Changes)、Firestore(原生监听器)。
离线支持:Neon(不支持)、Supabase(有限支持)、Firestore(原生支持,使用 IndexedDB)。
安全模型:Neon(连接级别)、Supabase(行级安全)、Firestore(安全规则)。
移动 SDK:Neon(社区驱动程序)、Supabase(原生 TypeScript/JS)、Firestore(官方移动 SDK)。
定价对比
Neon 免费套餐:3GB 存储空间,每月 100 小时计算时间,闲置时缩至零且免费。
Supabase 免费套餐:500MB 数据库,1GB 文件存储,每月 2GB 带宽,50K MAU。
Firestore 免费套餐:1GB 存储空间,每日读取 50K 次,每日写入 20K 次,包含实时监听器。
常见数据库模式
连接管理
Neon Serverless Driver 需要使用 @neondatabase/serverless 包和 neon 函数来执行查询。直接连接请使用 DATABASE_URL;兼容无服务器环境/边缘环境请使用 DATABASE_URL_POOLED。
Supabase Client 使用 @supabase/supabase-js 和 createClient 函数。客户端使用环境变量 SUPABASE_URL 和 SUPABASE_ANON_KEY;服务端使用 SUPABASE_SERVICE_ROLE_KEY。
Firestore Client 使用 firebase/app 和 firebase/firestore,并通过 initializeFirestore 初始化。使用 persistentLocalCache 和 persistentMultipleTabManager 启用离线持久化,以支持多个标签页。
迁移策略
使用 Supabase CLI 通过 supabase migration new 和 supabase db push 管理 Supabase 架构。
使用 neonctl 或 Neon API 在 Neon 中执行数据库分支和重置操作。
使用 Firebase CLI,通过 firebase deploy --only firestore:rules 部署 Firestore Security Rules。
ORM 集成
Neon 支持使用 drizzle-orm/neon-http 适配器的 Drizzle ORM、使用 @prisma/adapter-neon 的 Prisma,以及使用 @neondatabase/serverless 直接执行 SQL。
Supabase 支持通过 @supabase/supabase-js 客户端直接执行 SQL、使用 Postgres 驱动程序的 Drizzle ORM,以及通过连接字符串使用 Prisma。
Firestore SDK 是主要接口,无需 ORM 抽象层。
Context7 文档访问
如需获取最新的平台文档,请使用 Context7 MCP 工具:
Neon:使用 mcp__context7__resolve-library-id,并将查询设为 "neondatabase/neon" 以获取库 ID;然后使用 mcp__context7__get-library-docs,并提供 "branching"、"connection pooling" 或 "auto-scaling" 等主题。
Supabase:使用 mcp__context7__resolve-library-id,并将查询设为 "supabase" 以获取库 ID;然后使用 mcp__context7__get-library-docs,并提供 "postgresql pgvector"、"row-level-security" 或 "realtime" 等主题。
Firestore:使用 mcp__context7__resolve-library-id,并将查询设为 "firebase" 以获取库 ID;然后使用 mcp__context7__get-library-docs,并提供 "firestore security-rules"、"firestore offline" 或 "firestore real-time" 等主题。
平台专属深入指南
如需了解平台专属的实现模式、架构详情和高级功能,请参阅以下参考文件:
Neon Serverless PostgreSQL 的 reference/neon.md 涵盖数据库分支工作流、自动扩缩配置、PITR 和备份、无服务器驱动程序用法、Drizzle 和 Prisma ORM 集成,以及边缘部署模式。
Supabase PostgreSQL 16 的 reference/supabase.md 涵盖用于 AI/ML 的 pgvector、行级安全策略、实时订阅和在线状态、使用 Deno 的 Edge Functions、带 CDN 的 Storage、身份验证集成,以及 TypeScript 客户端模式。
Firebase Firestore 的 reference/firestore.md 涵盖 NoSQL 文档建模、带元数据的实时监听器、离线缓存与同步、使用自定义声明的 Security Rules、事务与批量操作、复合索引,以及移动 SDK 模式。
如需对比分析和迁移指南,请参阅 reference/comparison.md,其中涵盖 SQL 与 NoSQL 决策矩阵、PostgreSQL 变体对比、平台间的迁移策略、功能对等映射,以及成本优化策略。
配合使用效果良好
- moai-platform-auth,用于与 Supabase Auth 或 Firebase Auth 集成身份验证
- moai-lang-typescript,用于所有平台的 TypeScript 模式
- moai-lang-flutter,用于 Firestore 移动 SDK 模式
- moai-domain-backend,用于集成数据库的后端架构
- moai-domain-mobile,用于移动优先的数据库模式
- moai-quality-security,用于安全最佳实践(RLS 策略、Security Rules)
状态:已准备好用于生产环境
生成工具:MoAI-ADK Skill Factory v2.0
上次更新:2026-02-09
版本:2.0.0(已整合)
平台:Neon、Supabase、Firestore