Supabase — Nền tảng Backend-as-a-Service với PostgreSQL
Học Supabase toàn diện — Database, Auth, Storage, Realtime, Edge Functions, AI/Vector. Tài liệu tham khảo từ supabase.com/docs.
Supabase là gì?
Supabase là một nền tảng Backend-as-a-Service (BaaS) mã nguồn mở, được xây dựng trên nền PostgreSQL. Được biết đến như một giải pháp thay thế Firebase, Supabase cung cấp tất cả các thành phần backend mà một ứng dụng hiện đại cần, bao gồm database, authentication, storage, realtime, edge functions, và AI/vector.
Kiến trúc tổng thể
Mỗi dự án Supabase bao gồm:
| Thành phần | Mô tả |
|---|---|
| PostgreSQL Database | Database đầy đủ, không phải abstraction. Hỗ trợ tất cả extension Postgres |
| Auth (GoTrue) | Xác thực người dùng với JWT, hỗ trợ 50+ OAuth providers |
| Storage | Lưu trữ file tương thích S3 với CDN toàn cầu |
| REST API (PostgREST) | API tự động sinh từ database schema |
| Realtime | WebSocket subscriptions: Broadcast, Presence, Postgres Changes |
| Edge Functions | Serverless functions chạy trên Deno, phân phối toàn cầu |
| AI & Vectors | pgvector cho embedding, semantic search, RAG |
| GraphQL (pg_graphql) | GraphQL API tự động từ schema |
| Cron (pg_cron) | Lập lịch job định kỳ trong Postgres |
| Queues (pgmq) | Message queue bền vững trong Postgres |
| Supabase Studio | Dashboard quản lý trực quan |
Pricing
| Plan | Giá | Điểm nổi bật |
|---|---|---|
| Free | $0/tháng | 2 dự án, 500MB DB, 50K MAU, 5GB băng thông, 1GB file storage |
| Pro | Từ $25/tháng | 100K MAU ($0.00325/MAU thêm), 8GB disk/project, 250GB băng thông, daily backups 7 ngày, email support |
| Team | Từ $599/tháng | SOC2 & ISO 27001, SSO, HIPAA (add-on), daily backups 14 ngày, 28-day log retention |
| Enterprise | Custom | Support manager riêng, SLAs, BYO Cloud, 24x7x365 support |
Supabase vs Firebase — Khác biệt cốt lõi
| Tiêu chí | Supabase | Firebase |
|---|---|---|
| Database | PostgreSQL (SQL quan hệ) | Firestore (NoSQL document) |
| Auth | JWT, 50+ OAuth, MFA, SSO | Proprietary, nhiều providers |
| Storage | S3-compatible, CDN, image transform | Google Cloud Storage |
| Realtime | WebSocket (Broadcast, Presence, CDC) | Firestore listeners |
| Open-source | Có | Không |
| Self-host | Có (Docker) | Không |
| API | REST + GraphQL auto-generated | REST + gRPC |
| Vector search | pgvector, hybrid search built-in | Vector Search (add-on) |
Khi nào chọn Supabase thay vì Firebase hay custom backend?
Chọn Supabase khi
- Cần SQL quan hệ (JOINs, transactions, constraints)
- Muốn open-source và có option self-host
- Đã quen với PostgreSQL hoặc hệ sinh thái SQL
- Cần tích hợp chặt giữa Auth + Database (RLS + JWT)
- Muốn REST API + GraphQL auto-generated từ schema
- Đang xây dựng ứng dụng AI / vector search với pgvector
- Team nhỏ, muốn phát triển nhanh không cần viết backend
Chọn Firebase khi
- Cần NoSQL flexible schema, document-based data
- Deep integration với Google Cloud ecosystem
- Muốn managed service hoàn toàn, không lo infrastructure
- Cần Cloud Messaging (FCM) cho push notifications
- Ứng dụng mobile-first với Firebase Analytics / Crashlytics
Chọn Custom Backend khi
- Cần kiểm soát hoàn toàn kiến trúc và công nghệ
- Có team backend mạnh, muốn tự xây dựng
- Yêu cầu compliance đặc thù không được hỗ trợ bởi BaaS
- Cần performance tối đa với kiến trúc tùy chỉnh
- Hệ thống legacy cần tích hợp phức tạp
Interview tip: Supabase là open-source Firebase alternative. Điểm khác biệt lớn nhất: Firebase dùng Firestore (NoSQL), Supabase dùng PostgreSQL (SQL quan hệ). Supabase hỗ trợ self-host, Firebase thì không.
Lộ trình học Supabase
Tài liệu được chia thành các phần chuyên sâu. Học theo thứ tự từ trên xuống dưới:
| # | Chủ đề | Nội dung chính | Thời lượng |
|---|---|---|---|
| 1 | Database | PostgreSQL đầy đủ, RLS, Supavisor connection pooling, 20+ extensions, backup PITR | ~45 phút |
| 2 | Authentication | Email/password, Magic Link, OAuth 50+ providers, SSO, MFA, Passkey, session management | ~45 phút |
| 3 | Storage & Realtime | File storage S3-compatible, CDN, image transform, WebSocket Broadcast/Presence/CDC | ~30 phút |
| 4 | Edge Functions | Serverless Deno functions, webhooks, API proxies, CORS, scheduling với cron | ~25 phút |
| 5 | AI & Vectors | pgvector, semantic/hybrid search, RAG với LLM, embedding generation | ~30 phút |
| 6 | API & Client Libraries | REST API (PostgREST), GraphQL (pg_graphql), supabase-js, Flutter, Python SDKs | ~20 phút |
| 7 | Platform & DevOps | Studio dashboard, migrations, branching, logging, CI/CD, compute sizing | ~20 phút |
| 8 | Self-Hosting | Docker Compose, Kubernetes, enterprise considerations | ~15 phút |
Ghi chú: Nếu bạn đang chuẩn bị phỏng vấn, tập trung vào Database (RLS), Authentication (JWT + session), và so sánh Supabase vs Firebase — đây là những câu hỏi phổ biến nhất.