작성 중
사내 스터디 내용도 잘 기록하기 ( apollo 라이브러리 위주로 )
읽기 목록
개요
- SQL 과 같은 쿼리 언어입니다.
- 하지만 SQL 과 구조 차이가 큽니다.
- 실전에서 사용되는 방식의 차이도 큽니다.
- 탄생 목적이 다르기 때문입니다.
- Graph Query Language (gql) vs Structured Query Language (sql)
- gql 의 목적 : 클라이언트가 데이터를 서버로부터 효율적으로 가져오는 것
- 클라이언트 시스템에서 gql 문장을 주로 작성한다.
- sql 의 목적 : 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 것
- 백엔드 시스템에서 sql 문장을 주로 작성한다.
전통적인 REST API 와의 비교
- 프로젝트가 커질수록 많은 엔드포인트를 필요로하게 되어 프로젝트 관리를 어렵게 한다.
- 반면에 gql 은 단 하나의 엔드포인트를 가진다.
- REST API 에서는 Endpoint 마다 SQL 쿼리가 달라진다.
- gql 에서는 gql 스키마의 타입마다 SQL 쿼리가 달라진다.
- 오버페칭과 언더페칭
- 불필요한 데이터 전송을 일으키는 문제를 발생시켰다.
- 협업의 한계

출처 : 카카오 테크 블로그

단 한번의 네트워크 요청으로 원하는 데이터를 얻을 수 있다.
GraphQL 의 장점
- 단 하나의 엔드포인트로 원하는 정보만 요청할 수 있다.
- 원하는 데이터를 JSON 형태로 표현하여 되돌려 받을 수 있다.