GraphQL 스키마와 쿼리 비용

GraphQL은 필요한 필드를 선언하는 장점만큼 깊은 관계 조회, resolver 반복, 캐시 복잡도를 함께 관리해야 한다.

비용 원인나타나는 문제통제 방법확인 질문
Depth깊은 관계를 한 번에 탐색depth limit, persisted query중첩 한도를 정했는가
N+1목록의 각 항목마다 관계 조회DataLoader, batch query요청당 DB 호출 수를 보나
Complexity필드마다 비용이 다름complexity score비싼 필드를 제한하는가
Auth필드별 권한 조건이 숨어 있음resolver-level policy소유권과 역할을 모두 보나
Cache쿼리 모양이 다양해 캐시가 어려움normalized cache, invalidationmutation 뒤 갱신 경로가 있는가

GraphQL을 도입할 때는 schema 모양만큼 쿼리 비용을 숫자로 제한하는 운영 기준이 필요하다.