DynamoDB는 GraphQL을 지원하나요?

네, AWS AppSync를 통해 지원합니다. AppSync는 AWS의 관리형 GraphQL 서비스이고, DynamoDB는 그 네이티브 데이터 소스 중 하나입니다. 리졸버가 각 GraphQL 쿼리나 뮤테이션을 GetItem, Query, PutItem 같은 DynamoDB 작업으로 매핑합니다. DynamoDB 자체에는 GraphQL 엔드포인트가 없습니다. GraphQL 계층은 그 앞단에서 돕니다.

이 조합이 동작하는 방식

AppSync에서는 DynamoDB 테이블을 데이터 소스로 등록한 다음, GraphQL 스키마의 각 필드에 리졸버를 붙입니다. 리졸버의 요청 핸들러가 들어온 GraphQL 인수를 DynamoDB 호출로 옮기고, 응답 핸들러가 DynamoDB가 반환한 항목을 GraphQL 응답 형태로 다듬습니다. AWS는 바로 이 패턴 때문에 DynamoDB의 서버리스 통합 목록에서 AppSync를 가장 먼저 꼽습니다.

이 스택이 흔한 이유

양쪽 모두 서버리스입니다. AppSync가 API 계층을 확장하고 DynamoDB가 스토리지와 처리량을 확장하며, 어느 쪽에도 서버가 없습니다. 실시간 GraphQL 구독은 DynamoDB의 한 자릿수 밀리초 쓰기와 자연스럽게 어울립니다.

중첩된 필드 하나의 비용

필드마다 리졸버가 있다는 것은 필드마다 DynamoDB 요청이 있다는 뜻입니다. posts { author { name } }은 목록을 한 번 해석한 뒤 게시물마다 author를 한 번씩 해석하며, 그 각각이 따로 과금됩니다.

한 항목 모음에 게시물 25개, 작성자 항목 25개를 담은 테이블에 대해 각각 약 920바이트로 ReturnConsumedCapacity를 붙여 측정했습니다:

Query, the 25 posts                        ConsumedCapacity 3.0
25 GetItem calls, one author each          ConsumedCapacity 12.5
1 BatchGetItem, the same 25 author keys    ConsumedCapacity 12.5

중첩된 필드가 그 목록을 만들어 낸 쿼리의 네 배가 넘는 값을 치릅니다. 배치로 묶어도 달라지지 않습니다. BatchGetItem(그 자체로 AppSync 리졸버 작업이며, 호출당 키 100개와 16 MB로 제한됩니다)은 왕복 25번을 하나로 접지만, 여전히 항목 25개를 읽고 읽기 25번을 청구합니다. 사는 것은 용량이 아니라 지연 시간입니다.

이런 GraphQL 쿼리를 초당 열 번 하면 us-east-1 온디맨드에서 읽기 요청 단위로 월 $50.92이고, 그중 $41.06이 author 필드 하나 때문입니다. 요금 계산기가 여러분의 수치로 같은 계산을 돌려 줍니다.

그래서 해법은 리졸버가 아니라 키 설계에 있습니다. 중첩 필드가 반환하는 것을 부모 항목이나 GSI에 투영해서, 목록 쿼리가 이미 그것을 담고 있고 자식 리졸버가 가져올 것이 없게 만드세요.

대안: 직접 서버를 두기

AppSync가 필수는 아닙니다. 어떤 GraphQL 서버(Apollo, Yoga 등)든 다른 백엔드를 부르듯 AWS SDK로 DynamoDB를 호출해 필드를 해석할 수 있습니다. 대가는 GraphQL 계층을 직접 운영해야 한다는 점입니다.

더 알아보기

GraphQL 리졸버도 같은 액세스 패턴 규칙을 따릅니다. 데이터 모델링 가이드가 쿼리를 뒷받침하는 키 설계 방법을 설명하고, 표현식 빌더가 그 아래에 깔리는 조건 구문을 생성하며, DynoTable로 리졸버가 실제로 무엇을 썼는지 살펴볼 수 있습니다.

참고 자료

위에 링크된 공식 AWS 문서를 기준으로 2026-07-13에 마지막으로 검증했습니다.

용량 수치는 2026-07-28에 Node 24.18.0 위의 @aws-sdk/client-dynamodb 3.1095.0으로 DynamoDB Local 3.3.0에 대해 측정했습니다. 위의 ConsumedCapacity 값은 엔진이 내놓은 것 그대로입니다. 비용은 동기화된 AWS 요금 테이블의 us-east-1 온디맨드 요청 단위 가격으로 계산했습니다.

Console 없이 DynamoDB 작업하기

DynamoDB로는 실행할 수 없는 진짜 SQL(JOINs, GROUP BY, 집계)을 실행하는 빠른 DynamoDB 데스크톱 클라이언트. 시각적 편집과 여러분 자신의 Bedrock 키로 동작하는 AI 에이전트를 제공합니다.

30일 무료 체험, 신용카드 불필요 — 이후 기간 제한 없는 무료 요금제.