Supabase 概述
🧩 一、Supabase 概述
Supabase 是一个开源的 后端即服务(Backend as a Service, BaaS) 平台,旨在为开发者提供类似 Firebase 的功能,但基于 PostgreSQL 构建。它让开发者能够快速搭建安全、可扩展的后端,而无需自己管理服务器或数据库。
Supabase 的目标是成为 “开源版 Firebase”,但相比 Firebase 的 NoSQL 方案,它采用更强大且标准的关系型数据库(PostgreSQL)。
⚙️ 二、核心组成模块
Supabase 提供了一套完整的后端服务生态,主要由以下几个核心模块构成:
| 模块 | 功能说明 |
|---|---|
| Database(数据库) | 基于 PostgreSQL,支持关系型查询、视图、函数、触发器等强大特性。内置实时订阅功能。 |
| Authentication(认证) | 提供用户注册、登录、OAuth(Google、GitHub 等)、Magic Link、OTP 等认证方式。 |
| Storage(文件存储) | 支持文件上传、下载和访问控制,类似 AWS S3。 |
| Edge Functions(边缘函数) | 基于 Deno 的无服务器函数(Serverless Functions),可以在边缘节点快速响应请求。 |
| Realtime(实时通信) | 使用 PostgreSQL 的监听机制(LISTEN/NOTIFY)实现数据变更的实时推送。 |
| API(自动生成的 REST / GraphQL) | 根据数据库自动生成 RESTful API,也可以启用 GraphQL 支持。 |
| Dashboard(管理面板) | 提供 Web 界面来管理数据库结构、用户权限、API 密钥等。 |
🧠 三、工作原理
-
数据层
Supabase 使用 PostgreSQL 作为核心数据库,通过PostgREST自动将数据库表映射为 REST API 接口。 -
认证层
利用GoTrue(由 Netlify 开发的开源认证服务)管理用户身份和授权。 -
实时层
使用Realtime Server监听数据库的INSERT/UPDATE/DELETE事件,通过 WebSock
