일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- python
- visualizing
- Project
- Crawling
- DANAWA
- webcrawling
- javascript
- angular
- 프로젝트
- opencv
- analyzing
- 다나와
- instance
- data
- TypeScript
- Method
- 애자일
- pandas
- algorithm
- adaptive life cycle
- AWS
- tensorflow
- 크롤링
- data analyze
- matplotlib
- ECS
- keras
- Scrum
- 자바스크립트
- Agile
- Today
- Total
LiJell's 성장기
Amazone DynamoDB Global Table 본문
개요
본 문서는 Amazon DynamoDB Global Tables의 핵심 개념과 기능을 명확히 이해하고, 실제 운영 환경에서 구성 및 관리 방법을 설명하는 것을 목적으로 합니다.
1. DynamoDB Global Tables 개념과 필요성
DynamoDB Global Tables은 멀티 리전 환경에서 고성능, 고가용성 NoSQL 데이터베이스를 구축하기 위한 기능입니다. 모든 리전에서 읽기와 쓰기가 가능하며, 내부적으로 DynamoDB Streams를 활용한 비동기 복제를 통해 글로벌 애플리케이션을 지원합니다.
장점:
- 모든 리전에서 읽기 및 쓰기 작업 가능 (멀티 마스터)
- 자동 비동기 복제 (지연 수 초 이내)
- 글로벌 규모 애플리케이션을 위한 고가용성 및 성능 향상
- 기존 단일 리전 테이블을 다운타임 없이 손쉽게 글로벌 테이블로 전환 가능
2. Global Tables 복제 메커니즘
Global Tables의 복제는 DynamoDB Streams를 기반으로 합니다.
- 데이터 변경이 발생하면 DynamoDB Stream이 이를 감지하여 다른 리전의 동일 테이블에 복제합니다.
- 비동기 복제 방식으로 운영되며, 최종 일관성(Eventual consistency)을 기본적으로 보장하지만, 강력한 일관성(Strong Consistency)을 위한 읽기 전략을 구현할 수 있습니다.
특징:
- 비동기적이며 빠른 복제 (최소 지연)
- 충돌 발생 시 'Last Writer Wins' 방식 적용 (가장 최신 변경 사항 적용)
3. DynamoDB Global Tables 구성 방법
3-1. 신규 테이블 생성 방법
AWS 콘솔에서 테이블 생성 시 'Global Table' 옵션 선택 → 추가 리전 지정
3-2. 기존 테이블을 Global Table로 전환
- 기존 테이블에 DynamoDB Streams 활성화 (StreamViewType: NEW_AND_OLD_IMAGES)
- 테이블 선택 → Global Tables → 리전 추가
- 기존 테이블을 글로벌 테이블로 변환하는 동안 읽기 및 쓰기 작업은 중단되지 않음
다운타임 여부: 없음 (기존 데이터 유지, 중단 없는 작업)
4. Failover와 고가용성 관리
DynamoDB Global Tables은 모든 리전에서 읽기/쓰기가 가능한 멀티 마스터 구조로, 리전 장애 발생 시 별도의 장애 조치가 필요 없습니다.

5. 모니터링 및 관리 Best Practices
- 모니터링 주요 지표: CloudWatch를 통해 복제 지연(Latency), 쓰기 용량(WCU), 읽기 용량(RCU) 사용량 모니터링
- 복제 지연 관리: 지연이 클 경우, CloudWatch 알람을 통해 알림 설정
6. IAM 권한 관리
Global Tables 운영 시 다음 권한이 필요합니다.
- dynamodb:* - DynamoDB 전체 관리 권한
- iam:PassRole - 필요한 경우 IAM 역할 전달 권한
- cloudwatch:* - 모니터링 및 알림 설정
7. 비용 구조 및 성능 최적화
- 비용 구조:
- 각 리전에서 읽기 및 쓰기 용량 단위 별도 과금
- 복제 데이터 전송 비용: 리전 간 데이터 복제 전송 GB당 비용 발생
- 성능 최적화:
- 글로벌 쓰기 충돌 최소화를 위한 파티션 키 설계
- 지역 사용자에게 가까운 리전 활용 권장
8. DynamoDB Streams 유형
Global Tables에서는 DynamoDB Streams의 NEW_AND_OLD_IMAGES 타입을 반드시 활성화해야 합니다.

9. 일관성 모델 비교: Strong vs Eventual
DynamoDB는 두 가지 일관성 모델을 제공합니다. 글로벌 테이블 환경에서도 선택적으로 사용 가능합니다.
모델 | 설명 | 장점 | 단점 |
Eventual Consistency | 쓰기 작업이 성공하면 즉시 응답하지만, 모든 복제본이 최신 상태로 동기화될 때까지 지연이 존재할 수 있습니다. | 높은 처리량 및 낮은 지연을 제공 | 최신 데이터 조회 보장이 없음 |
Strong Consistency | 쓰기 작업이 완료된 후, 해당 리전 내에서 바로 최신 데이터를 읽을 수 있습니다. 다른 리전에서는 복제 지연이 있을 수 있습니다. | 최신 데이터 조회 보장 | 처리량 감소 및 지연 증가 |
DynamoDB Global Tables은 기본적으로 최종 일관성(Eventual consistency)을 제공하지만, 강력한 일관성(strong consistency)을 달성하기 위한 전략을 구현할 수 있습니다.
- 리전별 읽기 설정: 각 리전에서 쓰기 후 즉시 강력한 일관성 읽기(Strongly Consistent Read)를 수행 가능
- 최적화된 클라이언트 전략: 특정 리전에 강력한 일관성 읽기를 집중하여 데이터 일관성 보장 API 호출 시 사용

10. 활용 시나리오 예시
- 글로벌 사용자 세션 관리
- 글로벌 분산 게임 상태 관리
- 글로벌 환경 설정 및 인증 데이터 관리
참고 자료 및 레퍼런스
'Cloud' 카테고리의 다른 글
Amazon Aurora Global Database (0) | 2025.06.27 |
---|---|
SSM Portfowarding (0) | 2025.05.20 |
Inject the App Version into the environment file during the EC2 CI/CD process (0) | 2024.11.12 |
S3 Lifecycle expiry date issue (2) | 2024.10.02 |
AWS Auto Scaling Group Warmpool (0) | 2024.09.05 |