GraphQL

김영훈·2021년 6월 18일
0

GraphQL

목록 보기
1/1

GraphQL이란?


GraphQL은 SQL과 마찬가지로 쿼리 언어입니다.
SQL은 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 것이 목적이고, GQL은 웹 클라이언트가 데이터를 서버로 부터 효율적으로 가져오는 것이 목적입니다.
SQL의 문장(statement)은 주로 백앤드 시스템에서 작성하고 호출 하는 반면, GQL의 문장은 주로 클라이언트 시스템에서 작성하고 호출 합니다.

SQL

SELECT id name FROM user

GQL

{
  user {
  	id
    name
  }
}

REST API VS GraphQL

REST API는 URL, METHOD등을 조합하기 때문에 Endpoint가 다양하다.
GQL은 단 하나의 Endpoint가 존재한다.

REST API는 EndPoint에 따라 데이터가 달라지고 GQL은 요청 스키마에 따라 데이터가 달라진다.

Resolver?

GQL의 핵심 개념으로 쉽게 말해서 쿼리를 해결하는 기능
스키마에서 정의한 각각의 필드마다, 함수를 하나씩 구현한다고 생각하면 된다.

단점은?

  • 캐싱이 복잡
  • 파일 업로드 처리가 어려움

정리

REST API처럼 데이터에 따라서 요청을 여러번 보내지 않기 때문에 확실히 퍼포먼스적인 이점이 있을 것이다.
그렇다고 무조건적으로 사용한다라기보단 프로젝트의 성격에 맞춰 선택하는 것이 바람직하다.

프론트엔드 개발자로써 GraphQL을 사용하게 되면 서버단의 로직이 프론트로 내려오게 되어 공부 범위가 늘어날 것 같은 예감이다.😇

profile
개인적인 기록.

0개의 댓글