제135회 정보관리기술사 1교시 1번 — GraphQL vs REST API 비교

정보관리기술사 · 135회 1교시 · 1번 · 배점 10점

제135회 정보관리기술사 1교시 1번

단답형 | 10점
[문제] GraphQL의 개념과 등장 배경을 설명하고, REST API와의 주요 차이점을 비교하시오.

1. GraphQL 개념과 등장 배경

GraphQL은 Facebook이 2012년 개발하고 2015년 오픈소스로 공개한 API 쿼리 언어이자 런타임으로, 클라이언트가 필요한 데이터를 정확히 명시하여 요청하는 방식이다. 모바일 앱의 다양한 화면에서 REST API의 오버페칭·언더페칭 문제를 해결하기 위해 설계되었다.

2. REST API vs GraphQL 비교

구분 REST API GraphQL
엔드포인트 리소스별 다수 엔드포인트 (GET /users, GET /posts) 단일 엔드포인트 (/graphql)
데이터 제어 서버가 응답 구조 결정 (오버페칭/언더페칭) 클라이언트가 필요한 필드만 요청
버전 관리 URL 버전(/v1, /v2) 필요 스키마 진화로 버전 없이 필드 추가
타입 시스템 자체 타입 시스템 없음 (OpenAPI 별도 정의) SDL(Schema Definition Language) 내장
N+1 문제 적음 (캐싱 용이) DataLoader 패턴으로 배치 해결

활용: 복잡한 관계형 데이터·다양한 클라이언트(웹·모바일)에 GraphQL, 단순 CRUD·캐싱 중요 API에 REST 권장

핵심 키워드: GraphQL, SDL, 오버페칭, 언더페칭, 단일 엔드포인트, DataLoader, Subscription
GraphQL은 클라이언트 주도 데이터 요청으로 오버/언더페칭을 해결하며, 단일 엔드포인트와 강타입 스키마로 API 진화를 용이하게 한다. REST와 상호 보완적으로 활용한다.

Leave a Comment