Supabase vs Firebase: 내가 선택한 것과 그 이유

발행: (2025년 12월 28일 오후 02:20 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

My Requirements as a Solo Developer

  • 빠른 MVP 개발
  • 관계형 데이터 모델링
  • SQL 유연성
  • 깔끔한 인증 + 역할 기반 접근 제어
  • 오픈소스 친화적인 스택
  • 예측 가능한 가격

Quick Comparison Overview

FeatureSupabaseFirebase
DatabasePostgreSQLNoSQL (Firestore)
Query LanguageSQL (structured)NoSQL
AuthBuilt‑in, extensibleBuilt‑in, mature
Open SourceYesNo
Pricing TransparencyHighCan spike unexpectedly
Local DevelopmentEasyLimited
Vendor Lock‑inLowHigh

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인가요? 어떤 점이 결정에 영향을 주었는지 궁금합니다.

Back to Blog

관련 글

더 보기 »