mcpField
M
moai-platform-database-cloud

moai-platform-database-cloud

github.com/modu-ai数据与数据库1.2k45 次安装今天更新
代码仓库

关于 moai-platform-database-cloud

moai-platform-database-cloud 汇总 Neon、Supabase 和 Firestore 的云数据库选型与实现指导,面向构建应用的开发者。内容涵盖平台差异、常见数据模式及迁移和 ORM 集成。

主要功能

  1. 01比较 SQL 与 NoSQL 方案
  2. 02指导 Neon 分支与连接管理
  3. 03介绍 Supabase 实时功能与 pgvector
  4. 04说明 Firestore 离线同步与安全规则
  5. 05提供迁移及 ORM 集成模式

适用场景

  1. 01为无服务器应用选择 PostgreSQL 平台
  2. 02为多租户或 AI 应用配置数据库
  3. 03为移动应用设计离线数据同步
  4. 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.md
firestore.md
neon.md
supabase.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

评论

支持 Markdown