[인프런] AWS 3

타키탸키·2022년 7월 5일
0

AWS

목록 보기
4/5
post-thumbnail
  • RDS
    • Relational DB Service
    • 관계형 데이터베이스
      • 데이터베이스
      • 테이블
      • 데이터
      • 필드
  • AWS RDS에서 사용 가능한 관계형 DB 종류
    • Microsoft SQL
    • Oracle
    • MySQL
    • Postgre
    • Aurora
      • AWS 자체 운영
      • Free Tier 제공X
    • Maria DB
  • Data Warehousing
    • Business Intelligence
    • 리포트 작성, 데이터 분석 시에 사용
      • Production Database -> Data Warehousing
    • 매우 방대한 양의 데이터 "로드" 시, 사용
    • 다양한 소스에서 수집
    • 필요 시에 원하는 정보만 추출
    • 트랜잭션 프로세싱에 적합X
  • OLTP
    • Online Transaction Processing
    • insert와 같이 종종 사용되거나 규모가 작은 데이터를 불러올 때 사용되는 SQL 쿼리가 필요할 때 유용
    • ex:) 하나의 order에만 해당되는 고객의 이름, 주소, ...
  • OLAP
    • Online Analytical Processing
    • 매우 큰 데이터를 불러올 때 사용
    • 주로 덩치가 큰 select 쿼리 사용(혹은 join)
    • ex:) 특정 회사 부서의 Net Profit, Products

  • RDS의 백업 기능
    • Automated Backups(자동 백업)
    • DB Snapshots(데이터베이스 스냅샷)
  • Automated Backups
    • Retention Period 내의 특정 시간으로 복귀 가능
      • Point In Time(PIT)
      • 1일~35일
    • 그날 생성된 스냅샷과 Transaction Logs(TL) 참고
      • 매일 생성
      • 현재 시점이 기준
    • 디폴트로 설정되어 있는 기능
      • 백업 정보는 S3에 저장
      • 특정 조건을 넘으면 S3가 유료로 전환되므로 주의
    • AB 동안 약간의 I/O suspension 존재할 수 있음
      • Latency
  • DB Snapshots
    • 주로 사용자에 의해 실행됨(수동)
    • 원본 RDS instance를 삭제해도 스냅샷은 존재
      • AB와의 차이점
  • RDS 데이터베이스 백업
    • 원본 RDS 데이터베이스를 통해 새로운 데이터베이스 생성
      • 새로운 RDS instance 및 end point 생성
      • 원본과는 다른 새로운 객체 생성
      • original. >> .restored

  • Multi AZ
    • Multi Availability Zones
    • Synchronize
      • 기존 RDS DB에 변화(ex:) write)가 생길 때 다른 AZ에 똑같은 복제본 생성
      • 동시다발적
      • delay 감소
    • AWS에 의해서 자동으로 관리가 이루어짐
      • No admin intervention
    • Disaster Recovery Only
      • 기존 RDS DB에 문제 발생 시, 자동으로 다른 AZ의 복제본 사용
      • 성능 개선을 위한 기능X
      • 성능 개선을 위해서는 Read Replica 사용
    • ex:) 세 개의 EC2 서버가 기업 Production DB에 연결
      • 서버에 데이터를 쓰면, 복제된 DB에 올라간다
  • Read Replica
    • Production DB의 읽기 전용 복제본이 생성됨
      • 쓰기 불가능
    • 주로 Read-Heavy DB 작업 시, 효율성을 극대화하기 위해 사용
      • scaling이 주 목적
    • Disaster Recovery 용도가 아님
    • 최대 5개 Read Replica DB 허용
    • Read Replica의 Read Replica 생성 가능
      • 단, Latency 발생
    • 각각의 Read Replica는 자기만의 고유 Endpoint 존재
      • RDS DB는 IP 주소가 아닌 Endpoint로 식별
    • ex:) 여러 사용자가 웹사이트의 기사를 읽는 경우, 서버 다운 위험 >> Read Replica로 효율 극대화
    • 분산을 통해 Main DB의 Workload 최소화

  • ElastiCache
    • 클라우드 내에서 In-memory 캐시 생성
    • DB에서 데이터를 읽어오는 것이 아니라 캐시에서 빠른 속도로 데이터를 읽어옴
    • Read-Heavy 어플리케이션에서 상당한 Latency 감소 효과
      • 수백수천만 개의 데이터를 동시다발적으로 로드
      • SNS, 실시간 검색어...
    • Memcached / Redis
  • Memcached
    • Object 캐시 시스템
    • ElastiCache는 Memcached의 프로토콜을 디폴트로 따름
    • EC2 Auto Scaling처럼 크기가 가변적
    • 오픈소스
    • 유용한 순간
      • 단순한 캐싱 모델 필요할 때
      • Object caching(<->set,list)이 주된 목적일 때
      • 캐시 크기를 마음대로 scaling 하기를 원할 때
  • Redis
    • Key-Value, Set, List와 같은 형태의 데이터를 In-Memory에 저장 가능
    • 오픈소스
    • Multi-AZ 지원
      • 재해 복구 기능
    • 유용한 순간
      • list, set과 같은 데이터셋을 사용할 때
      • 리더보드처럼 데이터셋의 랭킹을 정렬하는 용도로 사용할 때
      • Muli-AZ 기능이 필요할 때
profile
There's Only One Thing To Do: Learn All We Can

0개의 댓글