이전 게시물 - 2단원 Storage
https://rb-cloud.tistory.com/39
[AWS SAA-C03] 2단원 Storage
AWS SAA-C03 2단원 StorageStorage1. Storage 유형파일 스토리지데이터를 파일 단위로 저장하고 관리파일 시스템을 통해 접근하고, 파일 경로로 파일 식별장점: 사용, 관리 용이, 기존 앱과 호환성 좋음단
rb-cloud.tistory.com
[AWS SAA-C03] 3단원 Database


Database
1. Database Type

1️⃣ RDB (Relation Database)
- 전통적인 DB관계형 DB
- 테이블간 Join 가능

2️⃣ NoSQL
스키마가 유연한 구성
- Document: json
- Graph:노드들의 관계 - 소셜 네트워크
- key-value: 고속으로 처리
- Wide-Column: 한 행별로 컬럼이 다 다를 수 있음, 유연함

3️⃣ Ledger Database
- 저널을 갖고 있어 들어오는 트랜잭션의 이력을 확인 가능
- 저널은 추가만 되고 삭제 불가능 - 신뢰성
- 은행, 보험에 자주 사용

4️⃣ DW (Datawarehouse)
- 여러가지데이터 소스들에서 오는 데이터를 한 곳의 창고 형식으로 모아서 이 데이터를
분석하고 활용할 수 있도록 도움을 주는 창소형 데이터 저장
RDB
2. RDS (Relational Database Service)
- RDS는 관계형 데이터베이스를 제공하며, AWS가 EC2 인스턴스 위에서 관리해줌
- EC2처럼 인스턴스 실행시간 기준으로 과금
- AWS가 OS와 DB 엔진을 직접 관리 → 사용자는 인프라 관리에서 해방
- 지원 DB 엔진: MySQL, PostgreSQL, MSSQL, Oracle, Aurora
Multi-AZ Deployment → 가용성 증가
1️⃣Multi-AZ Instance Deployment
- 단일 Primary DB가 AZ-a에 있고, AZ-b에 Standby(대기) 인스턴스 존재
- Primary에 장애 발생 시 → Failover로 Standby가 자동으로 Primary 역할 승계
- 두 AZ 간 동기식 복제 (Synchronous replication) 사용
- replica 까지 저장되어야 성공 응답 보냄
- DNS 엔드 포인트는 하나로 고정 (db.metacode.region.rds.amazonaws.com) → 앱 코드 변경 불필요
- Standby는 읽기 요청을 처리하지 않음 (순수 대기 목적)

2️⃣Multi-AZ Cluster Deployment
- 1개의 Primary(AZ-b) + 2개의 Replica(AZ-a, AZ-c)로 구성된 클러스터
- 읽기(Read)는 Replica에서도 처리 가능 → 부하 분산
- 쓰기(Write)는 Primary에서만 처리
- 반동기식 복제(Semi-synchronous replication) 사용
- 여러 replica중 하나만 저장돼도 성공 응답 보냄 - instance보다 빠름
- Instance Deployment보다 가용성과 성능이 더 높음

Read Replica
- 같은 리전 내 AZ-a, AZ-c에 Reclica 배치 + 다른 지전(Region-b)에도 Replica 배치 가능
- 최대 5개까지 복제 가능
- 비동기식 복제 사용 → 약간의 지연(lag-복제되는 속도) 존재
- 비동기: 즉시 성공 응답을 보낸 후 복제 시도 - 그래서 지연 존재
- 읽기 트래픽을 Replica로 분산시켜 Primary DB 부하 감소
- 크로스 리전 Read Replica → 재해 복구 (DR) 및 글로벌 읽기 성능 향상에 활용
- 자동 Failover 없음

Backup
- 자동 백업: 기본 보존 기간 7일 (설정 범위: 1~35일)
- Point-in-time recovery 지원 → 특정 시점으로 복구 가능
- 보존 기간이 35일을 초과하면 → S3에 복사해서 비용 절감
- 장기보관이 필요하면 AWS Backup 서비스 활용
| 서비스 | 역할 |
| RDS | DB 운영 + 단기 백업(최대 35일) |
| S3 | 파일/데이터 저장소(무제한) |
| AWS backup | 장기 백업 전용 관리 서비스 |
3. Amazon Aurora
- AWS가 클라우드 전용으로 직접 설계한 관계형 DB 엔진
- MySQL/PostgreSQL과 완전 호환 → 기존 앱 코드 그대로 사용 가능
- DB 클러스터 구조 - 스토리지를 공유하며 여러 DB 인스턴스가 처리
- 데이터를 3개 AZ에 걸쳐 6개의 복사본 저장 → 높은 가용 (EBS 기반 일반 RDS보다 뛰어남)
- 데이터 복사 중에도 병렬 처리로 성능 저하 없음
Aurora Multi AZs
- Multi-Master 지원: AZ-a, AZ-b, AZ-c 전부 Primary 역할
- 일반 RDS Multi-AZ는 Primary 1개 + Standby인데, Aurora는 모든 AZ가 쓰기 가능
- 하단의 스토리지는 모든 AZ가 공유(Aurora의 핵심 특징)

Aurora Read Replica
리전 활용
- Primary Region: 3개 AZ 모두 Multi-Master로 읽기/쓰기 처리
- Replica Region: 비동기 복제로 다른 리전에도 Replica 배치 (Read만 가능)
- Aurora는 Read Replica를 최대 15개까지 지원 (일반 RDS는 5개)
- Global Database로 크로스 리전 읽기 전용 Replica 구성 가능
- 장애 시 자동 Failover 지원

Aurora Backup
- 데이터를 3개 AZ에 분산 저장 → 한 AZ 망해도 자동 복구
- DB 스냅샷으로 복원 가능
- Point-in-time 복구: 최근 5분 전 시점까지 복원 가능
Aurora Serverless
Aurora를 Serverless 형태로 사용하는 것
- 인스턴스 크기 지정 불필요 → 트래픽에 따라 자동으로 용량 조정
- 비용: 활성 DB 용량 + IO 사용량 기준으로만 과금
- 적합한 경우
- 트래픽이 불규칙한 앱
- 새로 만드는 앱 (용량 예측 어려울 때)
- 자주 안 쓰는 앱
NoSQL
8. Document DB
- MongoDB 호환 문서 지향 DB 서비스
- 데이터를 JSON 형식으로 저장
- Key-Value DB와 달리 JSON 내 모든 필드로 검색 가능
- 유연하고 복잡한 데이터 모델에 적합
- MongoDB의 AWS 관리형 버전
9. Neptune
- 그래프 DB 서비스 - 데이터 간 관계를 표현하는 데 특화
- 3가지 구성요소:
- Node = 데이터 (사람, 사물)
- Edge = 관계 (follow, unfollow)
- Property = 상세 속성 (이름, 나이)
- 대표 사용처: SNS 팔로우/차단 관계, 추천 시스템, 지식 그래프
10. DynamoDB
- Key-Value 기반 초고속 DB - 응답속도 10ms 이하
- Partition Key를 해시해서 데이터를 파티션에 분산 저장
- Lambda와 연동 → 이벤트 드리븐 프로그래밍 가능
- 3개 AZ에 파티션 자동 복제 → 기본적으로 고가용성 보장
- 저장 용량 무제한
KEY
No(Partition Key) + Name(Sort Key) + Gender, Birth(나머지 Attribute)
1️⃣Partition Key: 해시 인덱스 - 데이터를 어느 파티션에 저장할지 결정
- Primary key 같은 존재
- 순서 없음, Equal(=) 쿼리만 가능
- 단독으로 쓸 땐 유일한 값이어야 함 (ex. No: A001)
2️⃣Sort Key: Partition Key와 함께 사용
- 같은 파티션 내에서 정렬 가능
- Cassandra의 Column Key와 유사

Capacity Unit
과금할 때 사용하는 단위
1️⃣RCU (Read Capacity Unit): 초당 4KB 읽기
2️⃣WCU (Write Capacity Unit): 초당 1KB 쓰기
3️⃣Provisioned 방식
- RCU/WCU를 미리 지정 + Auto Scaling 옵션
- 트래픽이 예측 가능할 때 적합
4️⃣On-demand 방식
- 실제 읽기/쓰기 요청만큼만 과금
- 트래픽이 불규칙하거나 급증할 때 적합
DAX (DynamoDB Accellerator)
다이나모DB를 캐싱하여 더 빠르게 이용하는 서비스
EC2 (DAX Client) ↔ DAX (Cache) ↔ DynamoDB
- DynamoDB 전용 캐싱 레이어
- 응답속도 1ms 이하 제공
- 앱 코드 변경 없이 적용 가능 (API 호환)
11. Elasticache
- 인메모리 Key-Value 저장소 - SSD/HDD보다 훨씬 빠른 읽기/쓰기
- Redis, Memcached 호환
- 주요 사용처 (단기성):
- 세션 저장소 (로그인 유지)
- 실시간 랭킹 (게임 점수판 등)
- 스트리밍 데이터 처리
- 단점: 시스템 종료 시 데이터 소멸 → 영구 저장 용도로는 부적합
- Redis의 AWS 관리형 버전
12. Keyspaces
- Apache Cassandra 호환 NoSQL DB
- Wide Column 형식 - Row Key + 여러 Column Name/Value 구조
- 서버리스 - 서버 관리 불필요, 사용한 리소스만큼 과금
- 테이블 오토스케일링

13. Quantum Ledger Database
변경이력이 중요한 DB에 사용
- 원장(Ledger) DB - 데이터 변경 이력을 Journal에 순서대로 기록
- Journal은 추가만 가능 (수정/삭제 불가) → 위변조 불가
- 변경사항은 SHA256 암호화로 간결하게 요약, 무결성 보장
- 다이제스트: 간결한 요약, 변경기록의 증거로 사용, 저널에 저장
- 주요 사용처:
- 은행 거래 기록
- 제조 이력 관리
- 보험 처리 기록
- 블록체인과 비슷한 개념이지만 중앙화된 AWS 관리형
14. Redshift
- 데이터 웨어하우스 서비스 - 대용량 데이터 분석 전용
- S3, RDS 등에서 ETL로 데이터를 가져와 분석
- 컬럼형 스토리지 구조 → 대량 데이터 쿼리 성능 최적화
- SQL 또는 BI 툴로 분석 가능
- 실시간 서비스 DB가 아니라 데이터 분석/통계용 DB
전체 AWS DB 서비스 정리
| 데이터베이스 타입 | 서비스 | 유형 | 핵심 특징 |
| RDB | RDS | 관계형 | 관리형 MySQL/PostgreSQL 등 |
| Aurora | 관계형 | 고성능 클라우드 전용 RDB | |
| NoSQL | DocumentDB | Document | MongoDB 호환 |
| Neptune | graph | 관계 표현 특화 | |
| DynamoDB | Key-Value | 초고속, 무제한 저장 | |
| ElastiCache | Key-Value | Redis/Memcached 캐싱 | |
| Keyspaces | Wide Column | Cassandra 호환 | |
| Ledger Database | QLDB | Ledger DB | 변경 이력 추적 |
| Data Warehouse | Redshift | Dataware house | 대용량 분 |
'자격증 따기 > AWS-SAA C03' 카테고리의 다른 글
| [AWS SAA-C03] 4단원 Networking and Content Delivery (0) | 2026.03.26 |
|---|---|
| [AWS SAA-C03] 2단원 Storage (0) | 2026.03.25 |
| [AWS SAA-C03] 단원별 예제 풀이 (0) | 2026.03.24 |
| [AWS SAA-C03] 1단원 Compute & Container & Serverless (0) | 2026.03.24 |
| [AWS-SAA03 공부법] 알아야 할 서비스 (0) | 2026.03.24 |