Computer Science/Programming

What is GraphQL

by Donghwan 2023. 2. 16.

기존의 RESTFul API 생태계에서는 보통의 경우 Server와 Client의 통신이 있어서 Server에 Template하게 구현된 API에 맞게 특정 EndPoint를 Client가 호출하여 데이터를 가져옵니다. 원하는 결과를 얻기 위해서 한번 또는 그 이상의 API 통신을 통해 원하는 데이터 결과를 도출할 수 있습니다. 이는 성능에 부정적인 영향을 미칠 수 있는 Over-Fetch 또는 Under-Fetch로 이어질 수 있습니다.

이러한 한계를 극복하기 위해 등장한 것이 GraphQL입니다. GraphQL은 고객이 한 번의 요청으로 필요한 데이터만 요청할 수 있게 함으로써 이러한 한계를 극복하기 위해 개발되었습니다. 이는 사용 가능한 데이터와 작업을 정의하는 강력한 유형의 Schema와 Client가 원하는 데이터를 정확하게 지정할 수 있는 Query Language를 사용하여 동작하는 서버측 런타임입니다. GraphQL을 사용하면 클라이언트는 필요한 데이터만 요청할 수 있으며 서버는 해당 데이터로 정확하게 응답하므로 네트워크를 통해 불필요한 데이터를 전송할 필요가 없습니다.

또한 GraphQL은 Schema를 검사하여 사용 가능한 데이터와 작업을 검색할 수 있는 기능, 기존 클라이언트를 손상시키지 않고 새 필드와 유형을 쉽게 추가할 수 있는 기능 같은 다양한 이점도 제공합니다. 요약하자면, GraphQL은 REST API의 일부 한계를 해결하고 데이터를 보다 유연하고 효율적으로 쿼리할 수 있는 방법을 제공하기 위해 개발되었다.

728x90
반응형

'Computer Science > Programming' 카테고리의 다른 글

Interpreter와 Compiler  (0) 2023.04.21
Process & Thread  (0) 2023.02.07
초보자를 위한 Linux 기초 명령어  (0) 2022.09.25
Base64란?  (2) 2022.09.19
암호화  (0) 2022.09.15

댓글