GraphQL vs REST
두 API 패러다임의 설계 철학 차이. 선택은 팀 규모·클라이언트 다양성·쿼리 복잡도에 달려 있다. GraphQL의 리졸버 구조상 관계 데이터 조회 시 N+1 쿼리 발생 위험.
sys.entry
M
Me
hyunyoun's Blog
software-engineering-devops1 min read
GraphQL vs REST
두 API 패러다임의 설계 철학 차이. 선택은 팀 규모·클라이언트 다양성·쿼리 복잡도에 달려 있다.
핵심 차이
REST가 유리한 경우
- 단순 CRUD, 리소스 관계가 단순
- HTTP 캐싱을 최대한 활용
- 팀이 GraphQL 학습 비용을 감당하기 어려울 때
- Public API (캐싱·버저닝 용이)
GraphQL이 유리한 경우
- 클라이언트(웹/앱/파트너)마다 필요한 데이터 형태가 다를 때
- 복잡한 연관 데이터를 한 번에 조회
- 빠른 프론트엔드 이터레이션 (BFF 없이 자체 쿼리)
N+1 문제
GraphQL의 리졸버 구조상 관계 데이터 조회 시 N+1 쿼리 발생 위험. DataLoader 패턴으로 배치 처리하여 해결.
연결 노트
- ZK-API-Design-Principles — REST/GraphQL 모두 API 설계 원칙 위에서 동작
- ZK-DDD-Bounded-Context — GraphQL Federation은 Bounded Context 경계와 정렬 가능