핵심
RDS
•
일반 관계형 DB
Aurora
•
고성능 AWS 최적화 DB
DynamoDB
•
NoSQL (완전 서버리스)
구조
RDS
•
MySQL, PostgreSQL 같은 기존 DB 그대로 관리형으로 제공
•
우리가 알던 DB
Aurora
•
AWS가 만든 RDS 상위 호환
•
MySQL / PostgreSQL 호환
•
RDS인데 훨씬 빠르고 자동화됨
DynamoDB
•
NoSQL (Key-Value / Document)
•
서버 없음, 무한 확장
•
초고속 API DB
차이점
항목 | RDS | Aurora | DynamoDB |
타입 | 관계형 | 관계형 | NoSQL |
확장성 | 제한적 | 자동 확장 | 무한 |
성능 | 보통 | 매우 높음 | 초고속 |
관리 | 일부 | 거의 없음 | 없음 |
구조 | 테이블 | 테이블 | Key-Value |
문제 유형
RDS
•
일반적인 애플리케이션 DB
•
트랜잭션
•
기존 DB 마이그레이션
•
예시
◦
쇼핑몰 주문 DB
◦
ERP 시스템
Aurora
•
고성능 필요
•
자동 확장
•
고가용성 (Multi-AZ 기본)
•
예시
◦
대규모 서비스
◦
트래픽 많은 웹 서비스
◦
성능 문제 + 최소 변경 + Aurora (or Read Replica)
DynamoDB
•
초고속 응답
•
대량 트래픽
•
서버 관리 없음
•
예시
◦
게임, IoT, 세션 저장
핵심 포인트
•
읽기 부하 많음
◦
정답: Read Replica
▪
RDS / Aurora 둘 다 가능
•
고가용성
◦
정답: Multi-AZ
▪
자동 장애조치
•
운영 부담 줄이고 싶을 때
◦
정답: 우선순위에 따라서 갈림
1.
DynamoDB (완전 서버리스)
2.
Aurora
3.
RDS
•
성능 문제 발생
◦
정답: Read Replica / Aurora
•
NoSQL인데 RDS 고르는 실수 발생
◦
DynamoDB
•
읽기 많음인데 Aurora로 바로 선택
◦
먼저 Read Replica 생각 해야함
•
고가용성인데 Read Replica 선택
◦
Multi-AZ
•
운영 오버헤드 최소화
◦
RDS → X
◦
Aurora → O
◦
DynamoDB → O