Supabase vs Firebase: 내가 선택한 것과 그 이유
Source: Dev.to
My Requirements as a Solo Developer
- 빠른 MVP 개발
- 관계형 데이터 모델링
- SQL 유연성
- 깔끔한 인증 + 역할 기반 접근 제어
- 오픈소스 친화적인 스택
- 예측 가능한 가격
Quick Comparison Overview
| Feature | Supabase | Firebase |
|---|---|---|
| Database | PostgreSQL | NoSQL (Firestore) |
| Query Language | SQL (structured) | NoSQL |
| Auth | Built‑in, extensible | Built‑in, mature |
| Open Source | Yes | No |
| Pricing Transparency | High | Can spike unexpectedly |
| Local Development | Easy | Limited |
| Vendor Lock‑in | Low | High |
Why Firebase Is Great (And Why I Didn’t Choose It)
What Firebase Does Well
- 매우 빠른 설정
- 뛰어난 실시간 기능
- 견고한 인프라
- 성숙한 생태계
Where Firebase Didn’t Work for Me
NoSQL Complexity at Scale
처음엔 간단하지만, 복잡한 관계(예: 사용자 → 게시물 → 댓글 → 좋아요)가 금방 어색해집니다.
Query Limitations
Firestore 쿼리는 종종 다음을 필요로 합니다:
- 사전 계획된 인덱스
- 데이터 중복
- 기본 조인에 대한 우회 방법
Vendor Lock‑in
데이터 모델이 Firebase 패턴에 강하게 결합됩니다.
Unpredictable Costs
읽기 요청이 빠르게 증가하고—청구서도 더 빨리 증가합니다.
Firebase is great for: 실시간 앱, 채팅 시스템, 평탄한 데이터 구조를 가진 중소 규모 제품에 적합하지만, 장기적인 비전에는 맞지 않았습니다.
Why I Chose Supabase
PostgreSQL (This Was the Deal Breaker)
SQL은:
- 예측 가능함
- 강력함
- 검증된 안정성
조인, 제약조건, 뷰, 트리거—모두 제대로 작동합니다. 예시:
SELECT users.name, posts.title
FROM users
JOIN posts ON users.id = posts.user_id;
Supabase는 관계형 쿼리에 익숙한 사람에게 자연스럽게 느껴집니다.
Built‑in Auth That Doesn’t Fight You
Supabase Auth는 다음을 지원합니다:
- 이메일/비밀번호
- OAuth 제공자
- Row Level Security (RLS)
권한을 애플리케이션 코드가 아니라 데이터베이스 수준에서 강제할 수 있어 보안과 명확성 면에서 큰 장점이 됩니다.
Row Level Security (RLS)
RLS를 사용하면 다음과 같은 규칙을 정의할 수 있습니다:
- 사용자는 자신의 데이터만 읽을 수 있음
- 관리자는 모든 데이터를 볼 수 있음
- 공개 데이터는 인증 없이 읽을 수 있음
이로 인해 백엔드 복잡성이 크게 감소합니다.
Open Source & Less Lock‑in
Supabase는:
- 오픈 소스
- PostgreSQL 기반
- 이식 가능
언젠가 Supabase를 떠나더라도 데이터는 표준 SQL 형태로 남아 있어 안심할 수 있습니다.
Predictable Pricing
Supabase 가격은 (스토리지, 요청, 대역폭) 쉽게 예측할 수 있어 갑작스러운 청구서에 대한 걱정이 없습니다.
When Firebase Might Be the Better Choice
- 대규모 실시간 동기화가 필요할 때
- 데이터 모델이 단순할 때
- 유연성보다 속도를 우선시할 때
- 프로토타입이나 해커톤 프로젝트를 만들 때
Firebase가 “나쁘다”는 아니며, 다른 문제에 최적화되어 있습니다.
Final Verdict
제가 Supabase를 선택한 이유:
- SQL이 제 제품에 더 잘 확장됨
- RLS가 보안을 단순화함
- PostgreSQL이 데이터를 미래에도 안전하게 유지함
- 오픈 소스로 장기 위험을 감소시킴
테이블, 관계, 제약조건에 익숙하다면 Supabase가 집처럼 느껴질 것입니다. 문서와 실시간 스트림에 익숙하다면 Firebase가 도구가 될 수 있습니다.
My Advice
hype에 휘둘리지 마세요. 다음을 기준으로 선택하세요:
- 데이터 모델
- 성장 계획
- 락인에 대한 허용 범위
여러분은 무엇을 선택했나요—Supabase인가요, Firebase인가요? 어떤 점이 결정에 영향을 주었는지 궁금합니다.