데이터베이스 설계
규칙
- 기본적으로 3NF로 정규화 — 측정된 성능 요구 사항이 있을 때만 비정규화
- 인덱스 전략: 기본 키(자동), 외래 키, 자주 필터링/정렬되는 컬럼
- 마이그레이션: 버전 관리, up + down, 설명적 이름
- 개발용 시드 데이터 —
foo/bar가 아닌 실제 테스트 데이터 - 사용자 대상 레코드에 대해 소프트 삭제(
deletedAt) — 정말 일시적인 데이터는 하드 삭제 - 공개 ID에는 UUID — 내부 관계에는 자동 증가 정수
- 서버리스용 연결 풀링 — PgBouncer, Prisma Accelerate 또는 Supabase pooler
- 백업 전략: 자동화된 일일 백업, 복원 프로세스 테스트
- 쿼리 최적화:
EXPLAIN ANALYZE,SELECT *회피, 특정 컬럼 사용