해결된 질문
작성
·
63
답변 2
0
transaction 처리가 필요한create, updat, delete에 대한 실제적인 구현의 경우 결국 mutation에 작성된 서버와 DB와의 통신 부분에서 이루어 집니다. 그리고 이 DB와의 통신 부분에 대한 처리는 REST 서버를 만들때와 크게 다르지는 않습니다.
graphql에서 강조하는 유연성의 경우 서비스를 만들때 데이터 조회시 정해진 형태가 아닌 다양한 형태를 조회할 수 있게 만든 것이 핵심이라고 생각합니다.
작성된 예제를 보더라도 추가, 수정, 삭제는 딱히 상황에 따라 변경되는 부분은 없습니다. 유연성이 강조된 부분은 데이터 조회에 대한 부분이기 때문입니다.
제가 이해한 부분이 다른 부분이라면 다시 한번 문의 부탁 드리겠습니다
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 이종수님.
GraphQL의 트랜잭션 처리 속도에 관해 궁금한 점이 있으셨군요. GraphQL은 REST API와는 달리 클라이언트가 필요한 데이터만을 요청하고 그에 맞추어 서버가 응답을 제공하는 방식입니다. 그렇기 때문에 일반적인 REST API보다 유연하게 서버와의 데이터 전송을 조절할 수 있지만, 그에 따라 트랜잭션 처리 속도는 특정 상황에 따라 다르게 나타날 수 있습니다.
GraphQL의 트랜잭션 처리 속도에 영향을 미칠 수 있는 주요 요소는 다음과 같습니다:
쿼리 복잡성: GraphQL은 한 번의 요청으로 여러 리소스를 동시에 요청할 수 있습니다. 요청하는 데이터의 양과 요청의 복잡성에 따라 서버의 처리 시간이 달라질 수 있습니다.
서버 최적화: 서버가 어떻게 최적화되어 있는지, 그리고 데이터 수집(fetch) 및 계산(resolve) 작업을 얼마나 효율적으로 수행하는지에 따라 성능이 좌우됩니다.
네트워크 지연: API 호출 시 데이터 전송에 걸리는 네트워크 지연도 고려해야 합니다. 이는 REST API에서도 마찬가지로 성능에 영향을 줄 수 있는 요소입니다.
관련 질문 URL:
1. 카테고리 추가할 때 서버 통신 오류인거 같은데 봐주세요
- GraphQL 서버 설정 및 통신 오류 관련 질문입니다.
2. apollo-cache 조작 방법 / update Item 부분
- GraphQL과 Apollo Client의 캐시 처리 방법에 대한 설명이 포함되어 있습니다.
이러한 요소들을 고려하면, REST API도 GraphQL도 각각의 장단점이 있으며, 트랜잭션 속도는 서버의 설정과 쿼리의 최적화에 크게 의존합니다. GraphQL에서 특히 중요한 것은 클라이언트가 요청한 데이터 양을 최소화하고, 서버 쪽 스키마와 리졸버를 최적화하여 처리 속도를 개선하는 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.