자격증 따기/AWS-SAA C03

[AWS SAA-C03] 3단원 Database

맹꽁이+ 2026. 3. 26. 11:05

이전 게시물 - 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

https://www.youtube.com/watch?v=zBwikdaBqGA&t=6638s
https://www.youtube.com/watch?v=zBwikdaBqGA&t=6638s

Database

1. Database Type

https://www.youtube.com/watch?v=zBwikdaBqGA&t=7959s

 

1️⃣ RDB (Relation Database)

  • 전통적인 DB관계형 DB
  • 테이블간 Join 가능

 

 

https://www.youtube.com/watch?v=zBwikdaBqGA&t=7959s

 

 

2️⃣ NoSQL

스키마가 유연한 구성

 

  • Document: json
  • Graph:노드들의 관계 - 소셜 네트워크
  • key-value: 고속으로 처리
  • Wide-Column: 한 행별로 컬럼이 다 다를 수 있음, 유연함 
    https://www.youtube.com/watch?v=zBwikdaBqGA&t=7959s

 

3️⃣ Ledger Database

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

https://www.youtube.com/watch?v=zBwikdaBqGA&t=7959s



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의 핵심 특징)

https://www.youtube.com/watch?v=zBwikdaBqGA&t=7959s

 

Aurora Read Replica

리전 활용

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

https://www.youtube.com/watch?v=zBwikdaBqGA&t=7959s

 

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와 유사

https://www.youtube.com/watch?v=zBwikdaBqGA&t=7959s

 

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 구조
  • 서버리스 - 서버 관리 불필요, 사용한 리소스만큼 과금
  • 테이블 오토스케일링

https://www.youtube.com/watch?v=zBwikdaBqGA&t=7959s

 


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 대용량 분