
[database] 데이터베이스 한눈에
관계형? NoSQL? 캐시? 데이터의 성격에 따라 정답이 달라지는 DB 선택, 그 큰 그림을 먼저 잡습니다.
이 노트는 어떤 DB 서비스를 고를지를 나누는 허브다. 각 서비스 상세는 개별 노트로 연결한다. rds · aurora · dynamodb · elasticache · dms
One-Line Summary
데이터베이스 문제는 먼저 관계형인지 · NoSQL인지 · 캐시인지 · 분석용인지, 그리고 고가용성(HA) / 읽기 확장 / 연결 관리 / 마이그레이션 중 무엇을 묻는지로 나누면 풀린다.
Abbreviations
| 약어 | 풀네임 | 의미 |
|---|---|---|
RDS | Relational Database Service | AWS 관리형 관계형 DB |
Aurora | Amazon Aurora | AWS 자체 MySQL/PostgreSQL 호환 고성능 관계형 DB |
DynamoDB | Amazon DynamoDB | 서버리스 NoSQL key-value/document DB |
DAX | DynamoDB Accelerator | DynamoDB 전용 인메모리 캐시 |
DMS | Database Migration Service | DB 마이그레이션/복제 서비스 |
OLTP | Online Transaction Processing | 실시간 트랜잭션 처리 |
OLAP | Online Analytical Processing | 분석 처리(웨어하우스) |
HA | High Availability | 고가용성 |
DR | Disaster Recovery | 재해 복구 |
Big Picture — 요구사항 → 서비스
| 요구사항 | 먼저 떠올릴 것 | 상세 |
|---|---|---|
| SQL·트랜잭션·기존 MySQL/PostgreSQL/Oracle/SQL Server | Amazon RDS | rds |
| 고성능·고확장 MySQL/PostgreSQL 호환, 글로벌 DR | Amazon Aurora | aurora |
| key-value/document, 서버리스, 초대규모 확장 | Amazon DynamoDB | dynamodb |
| DynamoDB 읽기를 microsecond로 | DAX | dynamodb |
| 자주 조회되는 데이터를 인메모리 캐시로 | Amazon ElastiCache | elasticache |
| 데이터 웨어하우스·BI·OLAP | Amazon Redshift | analytics/redshift |
| DB를 최소 다운타임으로 이전 | AWS DMS | dms |
결정축 1 — 관계형 vs NoSQL vs 캐시 vs 분석
| 성격 | 언제 | 서비스 |
|---|---|---|
| 관계형(OLTP) | 정규화 스키마·JOIN·트랜잭션·SQL | RDS / Aurora |
| NoSQL | key-value/document·유연 스키마·초대규모·서버리스 | DynamoDB |
| 인메모리 캐시 | 반복 조회를 microsecond~ms로, 세션/리더보드 | ElastiCache / DAX |
| 분석(OLAP) | 대량 이력 데이터를 복잡·집계 쿼리로 | Redshift |
함정: OLTP를 Redshift로(반대), JOIN 많은 관계형을 DynamoDB로(반대). Redshift는 분석, DynamoDB는 key-value 패턴.
결정축 2 — 관계형 안에서 HA vs 읽기확장 vs 연결관리
관계형 DB 문제의 대부분은 이 세 가지 중 무엇을 요구하는지로 갈린다.
| 요구 | 정답 | 왜 |
|---|---|---|
| AZ 장애에도 살아있어야(HA) | Multi-AZ(동기 standby, 자동 failover) | standby는 대기용(일반형은 읽기 처리 안 함) |
| 읽기 부하 분산·확장 | Read Replica(비동기, 읽기 전용) | 리포팅·읽기 offload |
| 다른 리전에 읽기/DR | Cross-Region Read Replica / Aurora Global Database | 지역 지연 감소 + 리전 DR |
| 연결 수 폭증(특히 Lambda) | RDS Proxy(연결 풀링) | 데이터 캐시가 아니라 connection 관리 |
| 안전한 버전/스키마 변경 | Blue/Green Deployment | staging에서 검증 후 <1분 전환 |
상세·수치는 rds. Multi-AZ=HA, Read Replica=읽기확장이 가장 자주 나오는 구분이다.
결정축 3 — 캐시/연결 3형제 (자주 헷갈림)
| 구분 | DAX | ElastiCache | RDS Proxy |
|---|---|---|---|
| 대상 | DynamoDB 전용 | 범용(RDS/API 등) | RDS/Aurora 연결 |
| 목적 | DynamoDB 읽기 캐시 | 데이터/세션 캐시 | connection 풀링·관리 |
| 캐시하는 것 | DynamoDB item 읽기 | 자주 조회 데이터·세션 | 데이터 아님, 연결 |
| 트리거 키워드 | DynamoDB, microsecond | cache, session, leaderboard | Lambda, connection storm |
DAX=DynamoDB 캐시, ElastiCache=범용 캐시, RDS Proxy=연결 관리(캐시 아님). 상세: dynamodb · elasticache · rds.
Common Wrong Directions
| 오답 방향 | 왜 부족한가 |
|---|---|
| Multi-AZ를 읽기 성능 향상용으로 | 일반 Multi-AZ standby는 읽기 처리 안 함 → 읽기는 Read Replica |
| Read Replica를 HA failover 정답으로 | 주 목적은 읽기 확장 → HA는 Multi-AZ |
| RDS Proxy를 캐시로 이해 | 연결 풀링임 → 데이터 캐시는 ElastiCache |
| DAX를 RDS 캐시로 | DAX는 DynamoDB 전용 |
| OLTP를 Redshift로 | Redshift는 OLAP → 트랜잭션은 RDS/Aurora |
| JOIN·복잡 SQL을 DynamoDB로 | 관계형이면 RDS/Aurora |
| DB 이전을 DataSync로 | DB 마이그레이션은 DMS(DataSync는 파일/객체) |
Exam Triggers
| 문제에서 이런 표현이 나오면 | 떠올릴 것 |
|---|---|
| "SQL, relational, transactions" | RDS / Aurora |
| "high availability, automatic failover" | RDS Multi-AZ |
| "read-heavy, offload reads" | Read Replica |
| "cross-region DR for relational DB" | Cross-Region Read Replica / Aurora Global Database |
| "too many DB connections from Lambda" | RDS Proxy |
| "safe DB upgrade, minimal downtime" | RDS Blue/Green |
| "MySQL/PostgreSQL compatible, high performance" | Aurora |
| "serverless NoSQL key-value" | DynamoDB |
| "DynamoDB microsecond reads" | DAX |
| "cache / session store / leaderboard" | ElastiCache |
| "migrate database with minimal downtime" | DMS |
Memory Sentence
DB는 관계형(RDS/Aurora)·NoSQL(DynamoDB)·캐시(ElastiCache/DAX)·분석(Redshift)·이전(DMS)로 나뉜다. 관계형에서 HA는 Multi-AZ·읽기확장은 Read Replica·연결관리는 RDS Proxy·안전변경은 Blue/Green. 고성능·글로벌이면 Aurora, 서버리스 대규모 key-value면 DynamoDB. DAX=DynamoDB 캐시, ElastiCache=범용 캐시.
Notes To Expand
- Amazon RDS concept note
- Amazon Aurora concept note
- Amazon DynamoDB concept note
- Amazon ElastiCache concept note
- AWS DMS concept note
- Amazon Redshift (analytics)
References
댓글
아직 댓글이 없습니다.