고가용성, 확장성, 백업을 위한 시스템을 제공하는 AWS 데이터베이스

관계형(SQL) 데이터베이스비관계형(NoSQL) 데이터베이스
AWS DB 예Amazon RDS, Amazon Redshift, AuroraDynamoDB, ElastiCache
데이터 스토리지행과 열로 이루어진 테이블키 값, 와이드 컬럼, 그래프, 문서 또는 기타 모델
스키마고정동적

ㅇ 관계형 데이터

  • 데이터는 테이블로 구분, 고도로 정형화, 데이터 스키마 고정
  • 행은 하나의 항목에 대한 모든 정보, 열은 데이터 요소 분리
  • 관계는 시스템에서 적용하는 키를 통해 설정
  • 관계형 데이터는 데이터 정확성 및 일관성을 제공
관계형 데이터베이스비관계형(NoSQL) 데이터베이스
엄격한 스키마 규칙 및 데이터 품질 적용 필요수평 스케일링 필요
과도한 읽기/쓰기 용량 필요로 하지 않음데이터가 기존 스키마에 적합하지 않음

ㅇ Amazon RDS

  • HW,OS 및 데이터베이스 SW 배포 및 유지 관리, 모니터링
  • 저장 시 및 전송 중 데이터 암호화
  • 자동 다중 AZ 데이터 복제
  • 컴퓨팅 및 스토리지 크기 조정, 최소한의 애플리케이션 가동 중단
  • Aurora, postgreSQL, MySQL, MariaDB, Oracle Database, SQL Server

ㅇ RDS 다중 AZ 배포

  • 다른 가용 영역의 대기 DB 인스턴스에 데이터를 동기식 복제, 읽기 전용 시나리오에서는 사용 X
  • 기본 인스턴스에 장애 발생시 자동으로 장애 조치 수행(보조 서버가 로드 처리)

ㅇ 읽기 전용 복제본

  • 읽기 중심의 워크로드 처리를 위해 수평 스케일링
  • 추가 읽기 용량으로 기본 노드 부하 해소
  • AWS 리전 간 복제 (특정 지역에 더 가까이 배치 가능)

ㅇ 저장 데이터 암호화

  • AWS KMS에서 관리
  • 고유 데이터 키로 데이터 암호화, AWS KMS 키로 데이터 키 암호화
  • 모든 RDS 엔진에서 사용 가능

ㅇ Aurora

  • 엔터프라이즈급 관계형 데이터 베이스, MySQL 및 PostgreSQL 관계형 데이터베이스와 호환
  • 3~5배 빠름, 안정성 및 가용성 유지하면서 불필요한 I/O 작업 줄임
  • 6개의 데이터 복사본을 3개의 가용 영역에 복제하고 지속적으로 S3에 백업

ㅇ 키 값 데이터

  • 단순한 키 값 페어로 구조화 됨, 데이터는 키로 분할
  • 장애에 대한 복원력 O, 높은 처리량, 짧은 대기시간의 읽기/쓰기
  • 데이터 스케일링되어 일관된 성능 제공

ㅇ DynamoDB

  • 완전관리형 NoSQL 서비스
  • 비용 효율적 -> 사용하는 스토리지와 프로비저닝한 IO 처리량에 대한 요금을 지불
  • 오토 스케일링 선택시 자동 프로비저닝
  • 이벤트 중심의 프로그래밍과 세분화된 액세스 제어 지원

ㅇ DynamoDB 테이블

  • 기본 키 사용해 테이블 각 항목 고유 식별, 보조 인덱스 사용해 유연하게 쿼리 작성
  • 테이블 생성시 테이블 이름, 기본키 필수
    • 단순 기본키 - 파티션 키 : 속성 하나만으로 구성된 단순한 기본 키
    • 복합 기본 키: 파티션 키정렬 키로 구성, 여러 항목의 파티션 키 같을 수 있지만 정렬키는 달라야함
  • 테이블, 항목, 속성 : 테이블은 항목의 모음, 항목은 속성의 모음

ㅇ 읽기/쓰기 용량 오토 스케일링

  • 필요 용량을 프로비저닝 하면서, 오버프로비저닝 방지하는 오토 스케일링

ㅇ DynamoDB 일관성 옵션

  • 최종 읽기 일관성: DynamoDB 테이블의 데이터 읽을 때, 최근 완료된 쓰기 작업 결과 반영 안될 수 도 있음, 잠시 후 읽기 요청 반복하면 응답이 최신 데이터를 반환
  • 강력한 읽기 일관성: DynamoDB는 성공한 모든 이전 쓰기 작업의 업데이트를 반영하여 가장 최신 데이터 응답, 네트워크 지연 또는 중단 발생 시 사용 어려움
    -> 따로 지정 안하면 최종 읽기 일관성 제공

ㅇ DynamoDB 글로벌 테이블

  • 리전 간 복제를 자동화
  • 단일 AWS 계정이 소유하고 복제 테이블로 식별되는 한 개 이상의 테이블의 모음
  • 복제 테이블은 글로벌 테이블의 일부로 기능하는 단일 테이블
  • 글로벌 테이블은 리전당 한개의 복제 테이블, 모든 복제본은 동일 기본키, 스키마

ㅇ 데이터 웨어하우스 정의

  • 트래잭션 시스템 및 LOB 애플리케이션에서 오는 관계형 데이터 분석하는데 최적화된 데이터 스토어
  • 쓰기용 스키마(사전 정의된 스키마)
  • 정형 데이터만, SQL 호환만, 요약 또는 집계된 상세 수준의 데이터

ㅇ Amazon Redshift

  • 페타바이트 규모의 완전관리형 데이터 웨어하우스

  • 온라인 분석 처리 (OLAP)

  • 대규모 병렬 처리 기능, S3로 지속적인 자동 백업, 향상된 VPC 라우팅

    • 비즈니스 인텔리전스: QuickSight 또는 다른 비즈니스 인텔리전스 도구 사용해 강력한 보고서 및 대시보드 구축할 수 있도록 페타바이트 규모의 반정형, 정형 데이터에서 고성능 쿼리 실행, 비용 효율적
    • 이벤트에서 운영 분석: 데이터 웨어하우스의 정형 데이터와 s3 데이터 레이크의 애플리케이션 로그와 같은 반정형 데이터를 활용해 실시간 운영 인사이트 확보
    • 서비스형 데이터: Redshift 데이터 공유 기능을 사용해 실시간 데이터에서 안전하면서도 규제된 협업을 위해 조직 내외부 데이터 공유
    • 예측 분석: SQL 사용해 테이터 웨어하우스의 데이터에 SageMaker 모델을 자동 생성, 훈련, 배포

ㅇ 캐싱 사용하는 아키텍처

  • 백엔드 데이터 스토어에 캐시를 사용할 경우 사이드 캐시가 일반적인 접근 방식
  • e.g. Redis, Memcachaed

ㅇ 일반적인 캐싱 전량

  • 지연 로딩
    캐시 미스 -> 누락된 데이터 요청 -> 데이터 반환 -> 반환된 데이터가 캐시에 저장
  • 라이트 스루
    데이터 쓰기 -> 애플리케이션이 데이터를 캐시로 보냄

ㅇ ElasticCache

  • 클라우드에서 분산 인 메모리 데이터 스토어 또는 캐시 환경을 쉽게 설정, 관리, 스케일링하도록 도와줌
  • 확장 가능, 비용 효율적, 고성능 캐싱 솔루션
  • e.g. Redis, Memcachaed
    • elastiCache for Memcached:
      데이터 집약적 앱에 대해 확장 가능한 캐싱 티어 빌드
      1밀리초 미만 응답시간
      자주 액세스하는 데이터가 인 메모리에 상주해야하는 상황에 적합, 다중 스레딩
      e.g. 웹, 모바일 앱, 게임, 광고 기술 및 전자 상거래
    • Redis용 ElastiCahce:
      1밀리초 미만 대기시간
      Redis의 속도, 간편성 및 다양성과 Amazon의 관리 용이성, 보안, 안정성
      e.g. 게임, 광고 기술, 저자 상거래, 헬스케어, 금융 서비스 및 실시간 애플리케이션

ㅇ DynamoDB Accelerator(DAX)

  • DynamoDB를 위한 완전관리형 고가용성 캐시
  • 마이크로초 응답시간 제공
  • 초당 수백만 건의 읽기 요청으로 쉽게 확장

0개의 댓글