Supabase + Prisma

코딩로그·2025년 3월 27일
0
post-thumbnail

ORM과 Prisma

ORM (Object-Relational Mapping)

  • 객체(Object)관계형 DB(Row) 를 자동으로 연결해주는 기술
  • Node.js, Java 등 백엔드 언어와 DB를 연결해주는 역할
  • 장점
    • 빠른 개발 가능
    • 유지보수가 쉬움
    • 데이터베이스 독립성 보장
    • SQL 직접 작성 줄이므로 보안성도 향상

Prisma란?

TypeScript와 잘 어울리는 ORM

  • schema.prisma 파일에 DB 구조를 선언적으로 정의
  • Prisma CLI를 통해 마이그레이션 및 타입 생성 가능
  • 마이그레이션(Migration) = DB 스키마를 실제 DB에 반영하는 과정

3-Tier 구조란?

실무에서 자주 사용되는 웹 애플리케이션 아키텍처 구조
역할을 세 층으로 나누어 확장성과 보안을 높임


1-Tier 구조

  • 구성: 클라이언트 + DB가 한 PC 안에 존재
  • 장점: 단순, 빠른 테스트 가능
  • 단점: 보안 취약, 확장성 낮음
  • 예시: 데스크탑 앱, 로컬 테스트 등

2-Tier 구조

  • 구성: 클라이언트 ↔ 서버
  • 특징: 클라이언트와 서버의 역할이 분리됨
  • 단점: DB 따로 두지 않으면 데이터 확장/관리 어려움

3-Tier 구조

  • 구성

    1. 클라이언트 (프론트엔드)
    2. 서버 (API, 비즈니스 로직)
    3. 데이터베이스 (정보 저장, 조회)
  • 장점

    • 역할이 분리되어 유지보수 용이
    • 물리적으로 분산 가능 → 보안 강화
    • 확장성 우수
  • 단점

    • 구조가 복잡해짐
    • 배포 및 운영 관리 필요

profile
hello world!

0개의 댓글