1️. 데이터베이스 선택의 기준
AWS에는 다양한 관리형 데이터베이스가 존재하며, 아키텍처에 따라 선택 기준이 달라짐.
고려해야 할 질문들
- 워크로드 특성
- Read-heavy / Write-heavy / Balanced
- 트래픽 변화 여부 (시간대별 변동, 스파이크)
- 데이터 특성
- 저장량과 증가 추세
- 평균 객체 크기
- 접근 패턴
- 내구성 & 신뢰성
- 데이터가 시스템의 Source of Truth 인가?
- 성능 요구사항
- 지연 시간
- 동시 사용자 수
- 데이터 모델
- 조인 필요 여부
- 정형 / 반정형
- 스키마 강제 여부
- 분석 / 검색
- 리포팅
- Full-text 검색
- 비용
- 라이선스 비용
- Cloud-Native DB 전환 가능성 (Aurora)
2️. AWS 데이터베이스 유형 분류
관계형 (SQL / OLTP)
- Amazon RDS
- Amazon Aurora
- 조인과 트랜잭션에 최적
NoSQL
- DynamoDB – Key/Value, JSON
- ElastiCache – In-memory Key/Value
- Neptune – Graph
- DocumentDB – MongoDB 호환
- Keyspaces – Cassandra 호환
Object Store
- Amazon S3 – 대용량 객체
- Amazon Glacier – 백업 / 아카이브
Data Warehouse / Analytics
- Redshift
- Athena
- EMR
Search
- OpenSearch
- 비정형 / 전문 검색
Graph
- Amazon Neptune
Ledger
- Amazon QLDB
Time Series
- Amazon Timestream
3️. Amazon RDS
특징
- 완전관리형 관계형 DB
- 지원 엔진
- PostgreSQL, MySQL, Oracle, SQL Server, MariaDB, DB2, Custom
- 인스턴스 타입 + EBS 직접 선택
- 스토리지 Auto Scaling
가용성 & 복구
- Read Replica
- Multi-AZ
- 자동 백업 + PITR (최대 35일)
- 수동 Snapshot (장기 보관)
보안
- IAM
- Security Group
- KMS
- SSL in-transit
- Secrets Manager 연동
- IAM Authentication 지원
기타
- 유지보수 자동화 (다운타임 발생)
- RDS Custom: OS 접근 필요 시
사용 사례
전통적인 OLTP, SQL 쿼리, 트랜잭션
4️. Amazon Aurora
핵심 구조
- 스토리지와 컴퓨트 분리
- 스토리지
- 6중 복제
- 3 AZ 분산
- 자동 복구 & 확장
- 컴퓨트
- Writer + Reader 인스턴스
- Reader 자동 확장
주요 기능
- RDS와 동일한 보안 / 모니터링
- Aurora Serverless
- 예측 불가능한 워크로드
- Aurora Global Database
- 리전당 최대 16 Read Replica
- 스토리지 복제 < 1초
- Aurora ML
- Aurora Cloning (Snapshot보다 빠름)
사용 사례
RDS와 동일하나 더 높은 성능, 확장성, 낮은 운영 부담
5️. Amazon ElastiCache
특징
- In-memory Cache
- Redis / Memcached
- Sub-millisecond latency
기능
- Redis Cluster / Multi-AZ
- Read Replica / Sharding
- Snapshot / PITR
- IAM, SG, KMS, Redis Auth
주의
- 애플리케이션 코드 수정 필요
- SQL 사용 불가
사용 사례
- 세션 저장
- DB 쿼리 결과 캐시
- Frequent Read, Less Write
6️. Amazon DynamoDB
특징
- 완전관리형 Serverless NoSQL
- 밀리초 단위 성능
- Capacity Mode
- Provisioned (+ Auto Scaling)
- On-Demand
- Multi-AZ 기본
고급 기능
- Transaction 지원
- TTL (세션 데이터 가능)
- DAX: 마이크로초 단위 캐시
- DynamoDB Streams
- Lambda / Kinesis 연동
- Global Tables (Active-Active)
백업
- PITR (35일)
- On-demand Backup
- S3 Export / Import (RCU/WCU 소모 없음)
사용 사례
Serverless 애플리케이션 작은 문서(수백 KB) 분산 캐시
7️. Amazon S3
핵심 개념
- 객체 기반 Key/Value 스토어
- 최대 객체 크기: 5TB
- 무한 확장
스토리지 클래스
- Standard
- IA
- Intelligent-Tiering
- Glacier (+ Lifecycle)
주요 기능
- Versioning
- Encryption (SSE-S3, SSE-KMS, SSE-C, Client-side)
- Replication
- MFA-Delete
- Access Logs
- Access Points
- Object Lambda
- CORS
- Object / Vault Lock
성능 & 자동화
- Multipart Upload
- Transfer Acceleration
- S3 Select
- Batch Operations
- Inventory
- Event Notifications (SNS / SQS / Lambda / EventBridge)
사용 사례
정적 파일 대용량 객체 저장 웹사이트 호스팅
8️. Amazon DocumentDB
개요
- MongoDB 호환 관리형 DB
- JSON 데이터 저장·쿼리·인덱싱
- Aurora와 유사한 배포 개념
특징
- 3 AZ 복제
- 스토리지 10GB 단위 자동 확장
- 초당 수백만 요청 처리 가능
9️. Amazon Neptune
Graph Database
- 관계 중심 데이터 모델
특징
- 최대 수십억 관계 저장
- 밀리초 단위 쿼리
- 3 AZ 복제
- 최대 15 Read Replica
사용 사례
- 소셜 네트워크
- 추천 시스템
- 사기 탐지
- Knowledge Graph
10. Amazon Neptune Streams
개념
- 그래프 데이터 변경 이벤트 스트림
- 순서 보장, 중복 없음
- HTTP REST API 접근
활용
- 알림
- 타 데이터 저장소 동기화
- 리전 간 복제
Neptune
└─ Streams
└─ S3 / OpenSearch / ElastiCache
1️1. Amazon Keyspaces (Cassandra)
특징
- Apache Cassandra 호환
- Serverless
- Auto Scaling
- 3 AZ 복제
성능 & 보안
- 밀리초 단위 응답
- On-Demand / Provisioned
- Encryption
- PITR (35일)
사용 사례
- IoT
- Time-series 데이터
1️2. Amazon QLDB
개념
- 변경 불가능한 Ledger DB
- 모든 변경 이력 저장
- 암호학적으로 검증 가능
특징
- Serverless
- 3 AZ 복제
- SQL 사용 가능
- 블록체인보다 2~3배 빠름
- 탈중앙화 ❌ (금융 규제 친화)
1️3. Amazon Timestream
Time-Series DB
- 완전관리형 Serverless
- 초고속 분석
특징
- 자동 스케일
- 하루 수조 건 이벤트 처리
- 관계형 DB 대비
- 최대 1000배 빠름
- 1/10 비용
- In-memory + 비용 최적화 스토리지 계층화
- 내장 시계열 분석 함수
- Encryption in-transit / at-rest
사용 사례
- IoT
- 운영 메트릭
- 실시간 분석
1️4. Amazon Timestream 아키텍처
IoT / Kinesis / Lambda / MSK / Prometheus
└─ Amazon Timestream
├─ QuickSight
├─ SageMaker
└─ JDBC Clients
1️5. 데이터베이스 선택
정답은 하나가 아니라, 아키텍처에 따라 달라짐
- SQL & 트랜잭션 → RDS / Aurora
- Serverless Key/Value → DynamoDB
- 캐시 → ElastiCache
- 대용량 객체 → S3
- 그래프 관계 → Neptune
- 불변 원장 → QLDB
- 시계열 → Timestream