Supabase와 Firebase를 비교해서 다시 정리하기
처음에는 Supabase를 “오픈소스 Firebase 대체재” 정도로만 기억했다. 이 표현은 입구로는 편하지만, 실제 선택 기준으로 쓰기에는 너무 뭉뚱그려져 있다. 둘 다 인증, 데이터베이스, 스토리지, 서버리스 함수 같은 백엔드 기능을 제공하지만 출발점이 다르다.
내가 정리한 핵심은 이렇다. Supabase는 Postgres에서 출발하고, Firebase는 앱 개발 제품 묶음에서 출발한다. 그래서 차이는 기능 목록보다 데이터 모델, 권한 모델, 비용을 예측하는 방식, 나중에 복잡해졌을 때 어디를 직접 만질 수 있는지에서 먼저 갈린다.
내가 이해한 개념
Supabase는 Postgres를 중심에 둔 백엔드 플랫폼이다. Supabase 문서는 모든 프로젝트가 Postgres 데이터베이스를 받고, Auth, Storage, Realtime, Edge Functions가 그 데이터베이스 위에 얹힌다고 설명한다. 여기서 중요한 말은 “Postgres abstraction”이 아니라 실제 Postgres라는 점이다.
내 말로 바꾸면 Supabase는 데이터베이스를 먼저 설계하고, 그 위에 API와 인증, 권한, 파일 저장소, 실시간 기능을 붙이는 느낌이다. SQL, 테이블, 조인, 인덱스, Row Level Security 같은 단어가 낯설지 않다면 구조가 꽤 자연스럽다.
Firebase는 앱을 빨리 만들기 위한 백엔드 제품 묶음에 가깝다. Firestore는 문서와 컬렉션 기반의 NoSQL 데이터베이스이고, realtime listener와 offline support를 강하게 제공한다. Realtime Database는 JSON 트리를 실시간으로 동기화하는 쪽에 가깝다. 여기에 Auth, Hosting, Cloud Functions, App Check, Analytics, Remote Config 같은 제품이 Google Cloud와 함께 붙는다.
Firebase에도 SQL Connect가 생겼다. 이건 Cloud SQL for PostgreSQL을 기반으로 하고, GraphQL schema와 query/mutation을 정의해 타입 안전한 SDK를 만들어 주는 구조다. 그래서 “Firebase는 무조건 NoSQL만 가능하다”라고 말하면 이제는 틀린 말이다. 다만 Firebase의 기본 감각은 여전히 클라이언트 앱 제품군과 Google Cloud 통합 쪽에 더 가깝다.
핵심 차이
- Supabase의 중심은 Postgres다.
- Firebase의 중심은 Firestore, Realtime Database, Auth, Hosting, Functions 같은 앱 개발 제품 묶음이다.
- Supabase는 관계형 모델과 SQL을 그대로 활용하기 쉽다.
- Firebase는 모바일/웹 클라이언트에서 realtime, offline, SDK 경험이 강하다.
- Supabase 권한은 Postgres RLS와 JWT가 깊게 연결된다.
- Firebase 권한은 Firestore/Realtime Database Security Rules와 Firebase Auth 조합으로 생각하게 된다.
- Supabase 비용은 데이터베이스 크기, compute, egress, MAU 같은 서버 자원 단위가 먼저 보인다.
- Firebase 비용은 Spark/Blaze 플랜, 읽기/쓰기/저장/함수 호출 같은 제품별 사용량 단위가 먼저 보인다.
이 차이는 개발할 때 생각하는 순서도 바꾼다. Supabase에서는 먼저 테이블과 관계를 잡고, RLS 정책을 세우고, 필요한 쿼리를 만든다. Firebase에서는 클라이언트 화면이 어떤 문서를 구독하고, 어떤 컬렉션 구조가 읽기 비용과 보안 규칙에 맞는지 먼저 고민하게 된다.
Supabase가 더 편한 경우
- 데이터가 관계형으로 자연스럽게 생긴다.
- 조인, 집계, 트랜잭션, SQL 쿼리가 중요하다.
- 기존 Postgres 도구, 마이그레이션, 백업, 확장 기능을 쓰고 싶다.
- 나중에 다른 Postgres 환경으로 옮길 가능성을 남기고 싶다.
- 서버 없이 시작하더라도 데이터베이스 설계와 권한 정책을 직접 잡고 싶다.
예를 들어 주문, 결제, 조직, 권한, 멤버십, 재고처럼 관계가 얽히는 서비스라면 Supabase 쪽 사고방식이 편하다. Postgres가 중심이기 때문에 복잡한 조건을 나중에 SQL로 풀 수 있다는 여지가 남는다.
Firebase가 더 편한 경우
- 모바일 앱이나 웹 앱을 빠르게 붙이고 싶다.
- realtime listener와 offline sync가 중요하다.
- Firestore 문서 모델이 화면 구조와 잘 맞는다.
- Analytics, Remote Config, Crashlytics, Messaging 같은 Firebase 제품을 같이 쓸 계획이 있다.
- Google Cloud로 자연스럽게 확장할 생각이 있다.
예를 들어 채팅, 실시간 협업, 간단한 피드, 모바일 앱 MVP처럼 클라이언트 경험이 먼저인 서비스라면 Firebase가 빠르다. Firestore의 realtime/offline 지원은 앱 화면을 바로 반응형으로 만들 때 강하다.
비용 감각
Supabase 무료 플랜은 2026년 7월 26일 기준으로 50,000 MAU, 500MB 데이터베이스, 5GB egress, 1GB file storage 같은 제한을 제공한다. Pro는 월 25달러부터 시작하고, compute 크기와 디스크, egress 같은 항목이 비용에 영향을 준다. 작은 프로젝트에서는 예측하기 쉬운 편이지만, 데이터베이스 크기와 egress가 늘면 서버 자원 비용처럼 봐야 한다.
Firebase는 Spark와 Blaze 플랜으로 나뉜다. Spark는 무료 플랜이고, Blaze는 pay-as-you-go다. Firestore는 문서 읽기/쓰기/삭제와 저장량, Cloud Functions는 호출과 실행 자원, Hosting은 저장과 전송량처럼 제품별 과금 단위가 나뉜다. Firebase 문서는 Blaze에서 무료 사용량을 넘으면 초과분에 비용이 붙고, budget alert는 비용을 막는 cap이 아니라 알림이라고 설명한다.
내가 비용에서 기억할 점은 이것이다. Supabase는 “내 Postgres 서버가 얼마나 커졌나”에 가까운 감각이고, Firebase는 “내 앱이 제품별 리소스를 얼마나 호출했나”에 가까운 감각이다. 둘 다 무료로 시작할 수 있지만, 비용이 튀는 방식은 다르다.
확인한 자료
- Supabase의 Database 문서는 모든 프로젝트가 실제 Postgres 데이터베이스를 받고, Auth, Storage, Realtime, Edge Functions가 그 위에 만들어진다고 설명한다.
- Supabase의 Auth 문서는 Auth가 Postgres와 통합되고, JWT와 RLS를 통해 row 단위 권한 제어와 연결된다고 설명한다.
- Supabase의 Pricing 문서는 Free/Pro/Team/Enterprise 플랜, MAU, 데이터베이스 크기, egress, compute 비용을 설명한다.
- Firebase의 Firestore 문서는 문서/컬렉션 모델, realtime listener, offline support, Google Cloud 통합을 설명한다.
- Firebase의 Realtime Database 문서는 JSON 데이터를 realtime으로 동기화하는 구조를 설명한다.
- Firebase의 SQL Connect 문서는 Cloud SQL for PostgreSQL 기반의 관계형 데이터베이스 서비스와 GraphQL 기반 schema/query/mutation 흐름을 설명한다.
- Firebase의 pricing plans 문서는 Spark와 Blaze 플랜, pay-as-you-go 구조, budget alert의 한계를 설명한다.
결론 및 리마인드
Supabase와 Firebase를 비교할 때 “둘 다 백엔드 대신 해 주는 서비스”라고만 보면 선택 기준이 흐려진다. 내가 먼저 볼 기준은 데이터 모델이다.
관계형 데이터, SQL, Postgres 도구, 직접적인 DB 제어권이 중요하면 Supabase가 먼저 떠오른다. 모바일/웹 앱을 빨리 붙이고, realtime/offline, Firebase 제품군, Google Cloud 확장이 중요하면 Firebase가 먼저 떠오른다.
나중에 다시 고를 때는 이 한 줄만 보면 된다.
Supabase는 데이터베이스에서 시작하고, Firebase는 앱 경험에서 시작한다.