기초 물방울/AWS

인프런 AWS 강의 #3 (RDS)

Weeding 2022. 4. 29. 09:39
반응형
SMALL

RDS

  • Relational DB Service(관계형 데이터베이스)
  • 데이터베이스
  • 테이블
  • 데이터
  • 필드
  • Microsoft SQL, Oracle, MYSQL, Postgre, Aurora, Maria DB
  • Aurora = AWS에서 자체적으로 제공, Free tier에서 제공하지 않음.

 

 

Data Warehousing

  • Business Intelligence
  • 리포트 작성, 데이터분석시 사용
    Production Database → Data Warehousing
  • 매우 방대한 분량의 데이터 로드시 사용

 

 

OLTP vs OLAP 

 

OLTP

  • INSERT와 같이 종종 사용 되어지는
  • 혹은 규모가 작은 데이터를 불러올 때 사용되는 SQL쿼리가 필요할 때 유용
  • ex) Order # 210에만 해당되는 customer 이름, 주소, 시간 정보 INSERT

 

OLAP

  • 매우 큰 데이터를 불러올 때 사용
  • 주로 덩치가 큰 SELECT 쿼리가 사용됨
  • ex) 특정 회사 부서의 Net Profit, Products

 


 

Automated Backups(AB)

  • 자동 백업
  • Retention Period(1~35일) 안의 어떤 시간으로 돌아가게 할 수 있음
  • AB는 그날 생성된 스냅샷과 Transaction logs(TL)을 참고함
  • 디폴트로 AB기능이 설정되어 있으며 백업 정보는 S3에 저장
    특정조건에 도달할 시 S3는 더이상 무료가 아님! (RDS의 크기만큼)
  • AB동안 약간의 I/O suspenstion이 존재할 수 있음 → Latency

 

 

DB Snapshots 

  • 주로 사용자에 의해 실행됨
  • 원본 RDS Instance를 삭제해도 스냅샷은 존재함 (vs AB)

 


 

Multi AZ

  • 원래 존재하는 RDS DB에 무언가 변화(e.x: Write)가 생길때
    다른 Availability Zone에 똑같은 복제본이 만들어짐 = Synchronize
  • AWS에 의해서 자동으로 관리가 이루어짐 (No admin intervention)
  • 원본 RDS DB에 문제가 생길 시 자동으로 다른 AZ의 복제본이 사요됨
  • Disaster Recovery Only
  • 성능 개선을 위해서 사용되지는 않음!
    → 성능 개선은 Read Replica

 

 

Read Replica

  • Production DB의 읽기 전용 복제본이 생성됨
  • 주로 Read-Heavy DB작업시 효율성의 극대화를 위해 사용됨 (Sacling이 주 목적!)
  • Disaster Recovery용도가 아님!!
  • 최대 5개 Read Replica DB 허용
  • Read Replica의 Read Replica 생성 가능 (단 Latency 발생)
  • 각각의 Read Replica는 자기만의 고유 Endpoint 존재

 


 

ElasticCache

  • 클라우드 내에서 In-memory 캐시를 만들어줌
  • 데이터베이스에서 데이터를 읽어오는 것이 아니라 캐시에서 빠른 속도로 데이터를 읽어옴
  • Read-Heavy 어플리케이션에서 상당한 Latency 감소 효과를 누림
  • Memcached / Redis

 

 

Memcached

  • Object 캐시 시스템으로 잘 알려져 있음.
  • ElastiCache는 Memcached의 프로토콜을 디폴트로 따름
  • EC2 Auto Scaling처럼 크기가 커졌다 작아졌다 가능함.
  • 공짜로 사용할 수 있는 오픈소스

  • 이럴 때 사용하면됨
    1. 가장 단순한 캐싱 모델이 필요한가?
    2. Object caching이 주된 목적인지?
    3. 캐시 크기를 마음대로 scaling하기를 원하는지?

 

Redis

  • Key-Value, Set, List와 같은 형태의 데이터를 In-Memory에 저장 가능함
  • 오픈 소스
  • Multi-AZ 지원 (Disaster Recovery 기능 지원!)

  • 이럴떄 사용하면됨
    1. List, Set과 같은 데이터셋을 사용하는지?
    2. 리더보드처럼 데이터셋의 랭킹을 정렬하는 용도가 필요한지?
    3. Multi AZ기능이 사용되어저야 하는지?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
LIST