Amazon DynamoDB 소개
AWS 데이터 스토어 활용
Dunieski Otano
AWS Solutions Architect
핫 파티션 문제
- 바쁜 계산원이 한 명뿐이고 나머지 세 명은 쉬고 있는 식당을 상상해 보세요
- 파티션 키를 잘못 설계하면 이런 상황이 발생합니다
- 핫 파티션 = 하나의 파티션에 트래픽이 집중되고 나머지는 유휴 상태가 되는 문제입니다.
- 해결책: 높은 카디널리티의 파티션 키 — 고유 값이 많아 데이터를 고르게 분산시키는 속성

좋은 파티션 키의 조건
- 높은 카디널리티: 고유 값이 많은 속성
- userId, orderId, sessionId - 적합
- country, status, category - 부적합
- 고른 분산: 균형 잡힌 액세스 패턴
- 예측 가능: 쿼리 시점에 값을 알 수 있는 속성
DynamoDB 테이블 구조
- 파티션 키 (필수): 데이터 분산 방식을 결정합니다
- 정렬 키 (선택): 범위 쿼리를 지원합니다 (예: userId + orderDate)
- 속성: 추가 데이터 필드
- 기본 키 = 파티션 키 OR 파티션 키 + 정렬 키
첫 번째 테이블 생성하기
- AWS 콘솔: 테스트용 빠른 설정
- boto3 (Python): 프로그래밍 방식의 테이블 생성
- 주요 결정 사항: 파티션 키, 정렬 키, 요금 모드
복합 키와 정렬 키 쿼리
- 복합 키: 파티션 키 + 정렬 키
- 범위 쿼리: 날짜 범위, 숫자 범위 내 조회
- 연산자: =, <, >, <=, >=, BETWEEN, begins_with
- 예시: 최근 30일 내 특정 사용자의 $100 초과 주문 조회
용량 모드: 온디맨드 vs 프로비저닝
- 온디맨드: 요청별 과금, 자동 확장
- 적합한 경우: 예측 불가한 트래픽, 신규 애플리케이션
- 프로비저닝: RCU/WCU 사전 설정, 대규모 사용 시 비용 절감
- 적합한 경우: 예측 가능한 트래픽, 비용 최적화
- 24시간에 한 번 모드 전환 가능
Preparing Video For Download...