Supabase là gì? Hướng dẫn nền tảng Postgres cho người mới

Supabase là gì? Hướng dẫn nền tảng Postgres cho người mới
26 Tháng 10, 2026 Lê Quốc Nghĩa 10 phút đọcHướng dẫn

Supabase là nền tảng phát triển ứng dụng xây quanh cơ sở dữ liệu Postgres: mỗi dự án là một cơ sở dữ liệu Postgres đầy đủ, kèm sẵn đăng nhập người dùng, API tự động, lưu trữ tệp, dữ liệu thời gian thực, hàm chạy trên máy chủ và tìm kiếm vector cho AI. Nhờ vậy một người hoặc một nhóm nhỏ dựng được phần "hậu trường" của ứng dụng web hay di động mà không phải tự lắp từng dịch vụ. Theo trang giá chính thức của Supabase (kiểm tra ngày 23/10/2026), gói Free giá $0 mỗi tháng và gói Pro từ $25 mỗi tháng. Supabase mã nguồn mở theo giấy phép Apache-2.0 và tự cài đặt được trên máy chủ riêng. Bài viết đi qua năm ý chính: (1) thành phần của Supabase; (2) Row Level Security; (3) giá; (4) cách bắt đầu; (5) tự cài và kết nối AI, kèm kinh nghiệm thực tế của OPCAIOS.

Supabase: một cơ sở dữ liệu Postgres ở giữa, xung quanh là Auth, API, Storage, Realtime, Edge Functions và vector
Supabase gom các thành phần của một ứng dụng quanh một cơ sở dữ liệu Postgres. Sơ đồ: OPCAIOS.

Supabase là gì?

Supabase là "nền tảng phát triển Postgres": thay vì chỉ đưa bạn một cơ sở dữ liệu, dịch vụ cho thêm các thành phần thường cần khi dựng ứng dụng. Theo trang chủ chính thức, bạn bắt đầu với một cơ sở dữ liệu Postgres rồi thêm xác thực, API dữ liệu, Edge Functions, dữ liệu thời gian thực, lưu trữ tệp và vector embeddings.

Điểm làm Supabase khác nhiều dịch vụ "backend có sẵn" là dữ liệu nằm trong Postgres thật, hệ quả là bạn có thể mang dữ liệu đi nơi khác vì đó là Postgres chuẩn; trang chủ Supabase nhấn mạnh tính di động 100%. Theo GitHub (23/10/2026), kho mã nguồn Supabase có khoảng 113.500 sao, giấy phép Apache-2.0 và vẫn được cập nhật liên tục. Tình huống giả định, ví dụ một nhóm nhỏ dựng ứng dụng quản lý khách hàng có thể dùng Postgres, Auth và API tạo sẵn thay vì tự lắp từng dịch vụ.

Supabase gồm những thành phần nào?

Supabase gồm bảy thành phần chính xoay quanh cơ sở dữ liệu. Theo tài liệu chính thức:

Thành phần Làm gì Ví dụ dùng
Cơ sở dữ liệu Postgres Lưu dữ liệu quan hệ, mở rộng bằng extension Bảng khách hàng, đơn hàng
Xác thực (Auth) Đăng ký, đăng nhập người dùng, bảo vệ dữ liệu bằng Row Level Security Đăng nhập bằng email, Google
API dữ liệu REST API tạo sẵn từ các bảng của bạn Ứng dụng đọc và ghi dữ liệu
Edge Functions Hàm TypeScript chạy phía máy chủ, gần người dùng (nền Deno) Nhận webhook, gọi Stripe hay AI
Realtime Đồng bộ dữ liệu thời gian thực Chat, bảng điểm trực tiếp
Storage Lưu và phân phối tệp lớn Ảnh, video
Vector Lưu và tìm kiếm vector embeddings (pgvector) Tìm kiếm ngữ nghĩa cho AI

Bạn dùng một, vài hoặc tất cả. Nhiều dự án chỉ dùng cơ sở dữ liệu và xác thực.

Row Level Security là gì và vì sao quan trọng nhất?

Row Level Security (RLS) là tính năng của Postgres cho phép đặt quy tắc phân quyền chạy ngay bên trong cơ sở dữ liệu, quyết định mỗi người dùng đọc và sửa được những dòng nào. Đây là chỗ người mới dễ sai nhất khi dùng Supabase, vì ứng dụng thường gọi cơ sở dữ liệu trực tiếp từ trình duyệt.

Tài liệu chính thức nêu rõ: một bảng nằm trong schema được phơi ra API mà không bật RLS thì mọi vai trò có quyền trên bảng đó đều đọc và ghi được. Khuyến nghị của Supabase là bật RLS trên mọi bảng trong schema phơi ra, và gỡ các quyền mặc định cho vai trò ẩn danh nếu dự án còn cấp; riêng việc thêm chính sách (policy) không tự gỡ các quyền đó.

Ví dụ: chỉ cho người tạo bản ghi xem khách hàng của chính họ:

alter table khach_hang enable row level security;

create policy "chi_nguoi_tao_xem_duoc"
  on khach_hang for select
  to authenticated
  using ( (select auth.uid()) = nguoi_tao );

Quy tắc gọn: bật RLS cho mọi bảng, viết chính sách tối thiểu, rồi thử bằng tài khoản người dùng thường, không thử bằng quyền quản trị. Khoá "service role" hay khoá bí mật bỏ qua RLS, nên chỉ dùng ở phía máy chủ và không bao giờ đưa ra trình duyệt hay mã nguồn công khai.

Giá Supabase hiện nay là bao nhiêu?

Supabase có gói miễn phí và các gói trả phí tính theo dự án. Theo trang giá chính thức của Supabase (kiểm tra ngày 23/10/2026), gói Free giá $0 mỗi tháng, gồm lệnh gọi API không giới hạn, 50.000 người dùng hoạt động hằng tháng, cơ sở dữ liệu 500 MB và 1 GB lưu trữ tệp. Gói Pro từ $25 mỗi tháng, đã gồm dự án đầu tiên, dự án thêm từ $10, 100.000 người dùng hoạt động, đĩa 8 GB, 250 GB băng thông, 100 GB lưu trữ tệp và sao lưu hằng ngày giữ 7 ngày. Gói Team từ $599 mỗi tháng, thêm SSO, kiểm soát sao lưu và chứng nhận ngành. Gói Enterprise tính theo liên hệ.

Hai lưu ý quan trọng cho gói Free: dự án bị tạm dừng sau một tuần không hoạt động và mỗi tài khoản chỉ có tối đa 2 dự án đang hoạt động. Vì vậy gói Free hợp để học và thử, ít hợp cho ứng dụng thật cần chạy liên tục. Gói trả phí gồm $10 tín dụng tính toán mỗi tháng, đủ cho một máy cấu hình Micro, và gói Pro bật sẵn "giới hạn chi tiêu" để tránh hoá đơn bất ngờ, bạn tự tắt khi muốn vượt hạn mức. Giá thay đổi theo thời gian, xem trang giá chính thức trước khi quyết định.

Bảng giá Supabase chi tiết

Gói Giá Điểm đáng chú ý
Free $0 mỗi tháng Lệnh gọi API không giới hạn, 50.000 người dùng hoạt động hằng tháng, cơ sở dữ liệu 500 MB, CPU dùng chung và 500 MB RAM, 5 GB băng thông ra, 1 GB lưu trữ tệp
Pro Từ $25 mỗi tháng Dự án đầu tiên đã gồm, dự án thêm từ $10; 100.000 người dùng hoạt động, đĩa 8 GB, 250 GB băng thông, 100 GB lưu trữ tệp, sao lưu hằng ngày giữ 7 ngày
Team Từ $599 mỗi tháng Thêm SSO, kiểm soát sao lưu và chứng nhận ngành
Enterprise Liên hệ Hỗ trợ riêng, cam kết thời gian hoạt động

Làm sao bắt đầu với Supabase trong 30 phút?

Một dự án đầu tiên đi qua sáu bước, làm được trong khoảng 30 phút theo cách làm trong tài liệu và trang chủ Supabase (kiểm tra ngày 23/10/2026). Ví dụ giả định: một bảng khách hàng cho cửa hàng nhỏ có thể dùng đúng quy trình này, với dưới 100 dòng dữ liệu thử. Điểm quan trọng nhất là bật RLS trước khi nhập dữ liệu thật, vì quên bước đó là lỗi phổ biến nhất của người mới.

  • Bước 1, tạo dự án trên Supabase, chọn khu vực gần người dùng nhất.
  • Bước 2, tạo bảng bằng Table Editor hoặc SQL Editor trong bảng điều khiển, ví dụ bảng khach_hang.
  • Bước 3, bật RLS ngay và thêm chính sách như ví dụ ở trên, trước khi nhập dữ liệu thật.
  • Bước 4, lấy khoá công khai và địa chỉ dự án để nối từ ứng dụng; khoá bí mật chỉ giữ ở máy chủ.
  • Bước 5, gọi từ ứng dụng bằng thư viện chính thức. Ví dụ từ trang chủ Supabase cho ứng dụng React:
import { createClient } from '@supabase/supabase-js'

const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY)
const { data } = await supabase.from('todos').select('*')
  • Bước 6, thêm đăng nhập bằng Auth để chính sách RLS biết người dùng nào đang gọi.

Nếu bạn mới làm quen với khái niệm gọi dữ liệu qua giao diện lập trình, đọc trước API là gì?.

Edge Functions dùng để làm gì?

Edge Functions là các hàm TypeScript chạy phía máy chủ trên nền Deno, phân phối toàn cầu gần người dùng. Theo tài liệu của Supabase, chúng hợp để nhận webhook hoặc tích hợp dự án với bên thứ ba như Stripe. Gói Free gồm 500.000 lượt gọi mỗi tháng (kiểm tra ngày 23/10/2026).

Lý do dùng hàm phía máy chủ thay vì gọi thẳng từ trình duyệt: khoá bí mật của dịch vụ AI hay cổng thanh toán không bao giờ phải nằm trong mã chạy ở trình duyệt. Chẳng hạn, OPCAIOS dùng đúng cách này cho một ứng dụng riêng: trình duyệt chỉ gọi hàm, còn khoá của dịch vụ AI nằm phía máy chủ. Có ba bước ngắn gọn. Bước 1, trình duyệt gửi yêu cầu tới hàm. Bước 2, hàm đọc khoá từ biến môi trường và gọi dịch vụ bên thứ ba. Bước 3, hàm trả kết quả về trình duyệt. Nếu bạn cần nhận sự kiện từ hệ thống khác, xem bài Webhook là gì?.

Tự cài Supabase trên máy chủ riêng được không?

Được. Theo tài liệu chính thức của Supabase (kiểm tra ngày 23/10/2026), cách nhanh và được khuyến nghị để tự cài là dùng Docker Compose. Cách này hợp khi bạn cần toàn quyền kiểm soát dữ liệu, có yêu cầu tuân thủ không cho dùng dịch vụ quản lý, hoặc muốn chạy trong môi trường cô lập.

Cần biết trước các khác biệt: (1) bản tự cài chạy một dự án duy nhất, vì Studio không hỗ trợ nhiều tổ chức hay nhiều dự án; (2) phần lớn cài đặt qua biến môi trường; (3) một số tính năng của nền tảng quản lý không có, như tạo nhánh dự án, sao lưu quản lý, khôi phục theo thời điểm (PITR), số liệu nâng cao và Management API. Khi tự cài, bạn chịu trách nhiệm về bảo mật, cập nhật và sao lưu.

Đây là kinh nghiệm thực tế của OPCAIOS: website opcaios.org chạy cơ sở dữ liệu trên bộ Supabase tự cài bằng Docker ngay trên máy chủ riêng, gồm Postgres, Auth, API, Storage, Realtime và Edge Functions. Đổi lại toàn quyền với dữ liệu, chúng tôi phải tự lo sao lưu và nâng cấp.

Supabase kết nối với AI và trợ lý AI như thế nào?

Supabase kết nối với AI theo hai hướng. Thứ nhất, cơ sở dữ liệu hỗ trợ vector embeddings bằng pgvector để lưu và tìm kiếm theo ngữ nghĩa, nền tảng cho các ứng dụng hỏi đáp trên tài liệu riêng.

Thứ hai, Supabase có máy chủ MCP để các công cụ AI như Claude Code tương tác với dự án của bạn. Theo tài liệu chính thức của Supabase (kiểm tra ngày 23/10/2026), bạn thêm bằng lệnh claude mcp add --transport http supabase ... rồi đăng nhập qua trình duyệt, và có thể giới hạn máy chủ MCP vào một dự án hoặc bật chế độ chỉ đọc. Chính tài liệu cảnh báo rằng kết nối mô hình ngôn ngữ vào dự án Supabase mang rủi ro bảo mật, nên hãy đọc hướng dẫn bảo mật trước khi chạy. Lời khuyên chung: dùng dự án phát triển chứ không phải dữ liệu thật, bật chế độ chỉ đọc và giới hạn theo dự án. Ví dụ giả định: một nhóm thử MCP trên dự án mẫu 1 bảng trước khi nối vào dữ liệu khách hàng. Xem thêm bài MCP là gì?.

Supabase khác Airtable và Firebase ở đâu?

Supabase hợp với lập trình viên cần cơ sở dữ liệu quan hệ và API; Airtable hợp với người không lập trình muốn giao diện giống bảng tính; Firebase dùng cơ sở dữ liệu dạng tài liệu (NoSQL) trên hạ tầng Google. Bảng so sánh ngắn:

Tiêu chí Supabase Airtable Firebase
Đối tượng Lập trình viên Người không lập trình Lập trình viên di động và web
Kiểu dữ liệu Quan hệ (Postgres, SQL) Quan hệ, giao diện bảng tính Dạng tài liệu (NoSQL)
Tự cài Có (Docker) Không Không
Điểm mạnh Dữ liệu di động, SQL, RLS, mã nguồn mở Dựng nhanh không cần code Tích hợp sâu hệ sinh thái Google

Nếu bạn không lập trình và cần quản lý dữ liệu nhanh, xem Airtable là gì?. Nếu nghiêng về tài liệu và cộng tác, xem Notion là gì?. Thông tin tóm tắt công cụ có trong thư viện: Supabase.

Khi nào nên và không nên dùng Supabase?

Nên dùng Supabase khi bạn cần cơ sở dữ liệu quan hệ thật, có người biết hoặc sẵn sàng học SQL, muốn dữ liệu không bị khoá vào một nhà cung cấp, và cần xác thực, tệp, thời gian thực trên cùng nền.

Không nên dùng khi không ai trong nhóm biết lập trình (Airtable hay Notion hợp hơn), khi chỉ cần bảng tính một người, hoặc khi bạn không thể quản lý bảo mật. Với Supabase, quên bật RLS là lỗi phổ biến và nghiêm trọng, nên cần một người chịu trách nhiệm xem lại chính sách trước khi đưa ứng dụng ra công khai.

Đọc thêm: Cách tạo Chatbot AI tự học tài liệu nội bộ (RAG) bằng Dify và Supabase.

Câu hỏi thường gặp

Supabase là gì và dùng để làm gì?

Supabase là nền tảng phát triển ứng dụng xây quanh cơ sở dữ liệu Postgres, kèm xác thực, API tự động, lưu trữ tệp, thời gian thực, Edge Functions và vector. Dùng để dựng phần máy chủ của ứng dụng web hoặc di động nhanh hơn.

Supabase có miễn phí không?

Có. Theo trang giá chính thức của Supabase (kiểm tra ngày 23/10/2026), gói Free có giá $0 mỗi tháng và gồm cơ sở dữ liệu 500 MB, 50.000 người dùng hoạt động hằng tháng, 1 GB lưu trữ tệp và lệnh gọi API không giới hạn. Dự án Free bị tạm dừng sau một tuần không hoạt động, và mỗi tài khoản chỉ có tối đa 2 dự án đang hoạt động. Vì vậy gói Free hợp để học và thử, ít hợp cho ứng dụng thật cần chạy liên tục. Gói Pro từ $25 mỗi tháng, với 100.000 người dùng hoạt động và sao lưu hằng ngày giữ 7 ngày. Trường hợp giả định: một bảng việc cần làm có đăng nhập cho vài chục người vẫn nằm gọn trong hạn mức Free. Giá thay đổi theo thời gian, hãy xem trang giá chính thức.

Supabase có phải mã nguồn mở không?

Có. Kho mã nguồn Supabase dùng giấy phép Apache-2.0 theo GitHub, và có thể tự cài bằng Docker. Bản tự cài thiếu một số tính năng của nền tảng quản lý như sao lưu quản lý và khôi phục theo thời điểm.

Row Level Security có bắt buộc không?

Không bắt buộc về kỹ thuật, nhưng gần như bắt buộc về an toàn: bảng trong schema phơi ra API mà không bật RLS thì mọi vai trò có quyền đều đọc và ghi được. Hãy bật RLS trên mọi bảng và thử chính sách bằng tài khoản người dùng thường.

Học Supabase từ đâu cho nhanh?

Bắt đầu với tài liệu chính thức và một dự án nhỏ như bảng việc cần làm có đăng nhập. Muốn dựng hệ thống dữ liệu và quy trình AI cho doanh nghiệp nhỏ, xem khoá đào tạo ứng dụng AI của OPCAIOS.

Nguồn: trang chủ, trang giá và tài liệu chính thức của Supabase (database, Row Level Security, Edge Functions, tự cài, máy chủ MCP; kiểm tra 23/10/2026) và GitHub supabase/supabase; kinh nghiệm vận hành của OPCAIOS. Giá và tính năng có thể thay đổi.

Lê Quốc Nghĩa
Lê Quốc Nghĩa
Người xây dựng OPCAIOS

Để lại bình luận

Email của bạn sẽ không hiển thị công khai. Bình luận sẽ hiển thị sau khi được duyệt.