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 구조
-
구성
- 클라이언트 (프론트엔드)
- 서버 (API, 비즈니스 로직)
- 데이터베이스 (정보 저장, 조회)
-
장점
- 역할이 분리되어 유지보수 용이
- 물리적으로 분산 가능 → 보안 강화
- 확장성 우수
-
단점
- 구조가 복잡해짐
- 배포 및 운영 관리 필요
