Pulse 게시 ·

AWS, DynamoDB Bulk Executor의 대량 처리·로그 누락 대응 구조 공개

AWS가 DynamoDB용 오픈소스 Bulk Executor의 구현 경험을 공개했다. 개발진은 전체 항목을 가져오는 대신 분할 스캔으로 개수만 반환해 집계 속도를 높였다고 설명했다. CloudWatch Live Tail의 초당 500개 이벤트 제한에 대응해 대량 결과는 S3에 저장하며, 데이터를 변경하는 명령에는 시점 복구(PITR)를 요구한다.

내용·출처 업데이트 · 2026. 10. 13. 오후 11:31

AWS Glue가 병렬 실행을 맡고, 명령별 Python 모듈은 공통 비용 추정·오류 처리·분산 속도 제한 기능을 사용한다.

scancount는 DynamoDB 분할 스캔과 Select: COUNT를 사용한다. 개발진은 커넥터 방식보다 일관되게 빨랐다고 설명했으며, Spark SQL 대신 DynamoDB 필터 표현식을 받는다.

Spark 커넥터가 문자열 집합과 문자열 목록을 구분하지 못해 diff·copy는 데이터 유형을 보존하도록 직접 API를 호출한다.

대량 출력은 S3에 저장하고 터미널에는 첫 10개 결과와 전체 결과 링크를 표시한다. 로그 순서 역전과 작업 종료 후 도착하는 로그에도 대응했다.

사전 비용 추정에는 Glue DPU 비용이 포함되지 않는다. 테이블 크기 메타데이터는 약 6시간 간격으로 갱신돼 최근 적재량을 반영하지 못할 수 있다.

Glue 6으로 이전해 DPU 시간당 비용을 30% 낮췄다고 설명했다. AI 린터로 보안 문서·역할 생성·권한 검사 로직의 불일치도 점검한다.

원격 병렬 작업은 로컬 클라이언트를 종료해도 계속 실행될 수 있어, 중단 신호를 원격 작업 종료 요청으로 연결해야 한다.

원문