References
https://tech.kakao.com/2019/08/01/graphql-basic/
https://www.apollographql.com/blog/graphql/basics/graphql-vs-rest/
GraphQL 이란?
메타(meta)에서 개발된 쿼리 언어로 줄여서 GQL이라고도 한다.
기존 SQL과 달리 GrapQL의 경우 클라이언트 시스템에서 쿼리를 작성하고 데이터를 호출하는 특징이 있다.
GraphQL이 가진 특성
SQL - Backend - Frontend의 경우 REST API와 같은 네트워크를 통해 데이터를 요청 및 응답하는 과정이 일반적이다.
다만, 해당 구조의 특성 상 서버에서 구현한 각 API마다 여러 번 호출 및 응답 과정을 거치기 때문에 만약 한 페이지 내에서 수많은 API를 호출해야 할 경우 그만큼 클라이언트의 로직 복잡화 및 속도 저하로 인해 유지보수의 어려움이 생긴다.
또한 데이터의 요청 및 응답이 한 번에 하나씩 이루어지기 때문에 원하는 데이터를 가져오기 위해선 그만큼 방대한 양의 데이터도 한꺼번에 가져와야 한다.
이와 반면에, GraphQL의 경우 기존 RestAPI와 같은 구조에서 벗어나 클라이언트 측에서 원하는 데이터를 요청시 이를 한 번만 가져와 응답을 하는 구조로 좀 더 직관적이고 빠른 형태의 네트워크가 이루어진다.
var { graphql, buildSchema } = require('graphql');
var schema = buildSchema(`
type Query {
hello: String
}
`);
var rootValue = { hello: () => 'Hello world!' };
var source = '{ hello }';
graphql({ schema, source, rootValue }).then((response) => {
console.log(response);
});
'Self-Study > 기타' 카테고리의 다른 글
2023-Memoirs (0) | 2023.12.29 |
---|---|
[Gulp] Gulp의 기본 개념 (0) | 2022.09.27 |
[Elastic] Filebeat의 기본 개념 (0) | 2022.09.13 |
[Elastic] Logstash의 기본 개념 (0) | 2022.09.13 |
[Redis] Redis의 기본 개념 (0) | 2022.09.13 |
최근댓글