Firebase vs Supabase
백엔드를 고르는 일은 데이터의 구조를 고르는 일입니다.
Firebase
Firestore 중심의 문서형 NoSQL 방식
Supabase
PostgreSQL 중심의 관계형 SQL 방식
Documents · Rules · Realtime
PostgreSQL · RLS · SQL
학습 로드맵
개념 → 모델 → SQL → BaaS → 선택
Database란 무엇인가
데이터베이스는 데이터를 지속적으로 저장하고 다시 조회합니다.
DBMS의 역할
DBMS는 정의·생성·관리·접근제어를 담당합니다.
관계형 DBMS 구조
기본키(PK)로 행을 식별하고 외래키(FK)로 관계를 연결합니다.
ACID 트랜잭션
여러 작업을 신뢰할 수 있게 처리하는 네 가지 원칙입니다.
A · Atomicity
원자성: 모두 성공하거나 모두 취소
C · Consistency
일관성: 제약 조건 준수
I · Isolation
격리성: 트랜잭션 간 간섭 통제
D · Durability
지속성: 커밋된 결과 보존
NoSQL 데이터 모델 4가지
NoSQL은 단일 구조가 아니라 여러 데이터 모델의 묶음입니다.
RDB vs NoSQL
일관성·쿼리·관계 요구와 데이터 패턴을 함께 따져야 합니다.
PostgreSQL
PostgreSQL은 관계형 SQL에 JSON 유형도 결합합니다.
INNER JOIN 연산 원리
회원 테이블과 주문 테이블에서 고객 ID가 일치하는 행만 연결합니다.
① 회원 테이블 customers
② 주문 테이블 orders
③ INNER JOIN 결과
교육용 가정 데이터 · 주문이 없는 회원은 INNER JOIN 결과에 나타나지 않습니다.
주문 추가·취소로 배우는 INNER JOIN
주문 테이블에 행이 늘어나거나 줄어들면 JOIN 결과도 함께 바뀝니다.
① 회원 테이블 customers
② 주문 테이블 orders
③ INNER JOIN 결과
실행되는 SQL 확인
교육용 가정 데이터 · 실제 DB에 저장되지 않습니다.
GROUP BY 연산 원리
같은 값을 가진 행을 묶고 COUNT·SUM·AVG를 구합니다.
JOIN → GROUP BY 실습
customers와 orders를 연결하고 고객별 주문 합계를 계산합니다. (교육용 예시)
customers 회원 테이블
orders 주문 테이블
실행 결과
실행 SQL
Firebase / Firestore
Firestore는 컬렉션 안의 문서로 데이터를 관리합니다.
Firebase 실시간 동기화
리스너는 데이터 변경에 따라 쿼리 결과의 최신 상태를 제공합니다.
Supabase의 구성 요소
PostgreSQL을 중심으로 인증·스토리지·실시간 기능을 묶습니다.
Realtime와 RLS
사용자를 선택한 뒤 INSERT·UPDATE·DELETE를 실행하면 테이블 데이터와 변경 이벤트가 함께 바뀝니다.
보안·개발·호스팅 비교
보안 규칙, SDK 구성, 운영 선택지를 함께 비교합니다.
비용·AI 확장·대안
요금과 제품 기능은 변하므로 워크로드에 맞춰 최신 조건을 확인합니다.
어떤 플랫폼을 선택할까?
프로젝트 요구사항을 조합해 기술 선택 근거를 확인합니다.