
백엔드
관계형 데이터베이스만이 답일까? DynamoDB가 보여준 새로운 가능성
두줄요약
삼쩜삼이 대용량 데이터와 트래픽 집중 문제를 해결하기 위해 DynamoDB와 S3로 저장 구조를 분리했습니다. 또한 운영 단계에서 처리량 예열, GSI 설계, 읽기 일관성 대응으로 안정성을 높였습니다.
핵심 내용
- 삼쩜삼이 트래픽 집중과 대용량 JSON 저장으로 발생한 Aurora MySQL 병목을 완화하기 위해 DynamoDB와 S3로 저장 구조를 분리한 사례
- 외부 연계 요청/응답 데이터는 메타 정보는 DynamoDB, 대용량 JSON은 S3에 저장해 I/O, 스토리지 비용, 바이너리 로그 동기화 부담을 줄임
- 사용자 알림 수신동의는 읽기 중심 Key 조회와 확장성을 이유로 DynamoDB를 선택해 메시지 서비스와의 연동 효율을 높임
성능/운영 포인트
- 트래픽 급증에 대비해 Warm Throughput을 사전 예열하고 성능 테스트 결과를 운영 테이블 처리량에 반영
- 백오피스 조회용으로 GSI와 희소 인덱스를 설계해 사용자 ID 조회와 실패 건 조회를 효율화
- 쓰기 직후 읽기에서는 Eventually Consistent Read 한계를 고려해 실패 시 Strongly Consistent Read로 재조회
