반응형

Amazon Aurora

클라우드에 빌드된 클라우드용 엔진

Amazon Aurora는 클라우드용으로 빌드된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스

 

 

 

Amazon Aurora 이점

 

  • 고성능 및 확장성
    • 상용 데이터베이스의 1/10 비용으로 동일한 성능을 발휘
    • Auto Scale 제공으로 인해 쉽게 Scaling 가능
    • 3개의 AZ와 Read Replica를 최대 15개까지 추가 가능
    • 스토리지를 DB cluster당 최대 128TB까지 자동으로 늘릴 수 있음
  • 고가용성 및 내구성
    • 3개의 AZ에 6개의 데이터 사본을 복제하고 S3에 데이터를 지속적으로 백업
    • 30초 내의 인스턴스 장애 조치
    • Global Database를 이용하면 하나의 Aurora DB가 여러 AWS 리전에 걸쳐 확장 가능
  • 강력한 보안
    • VPC를 사용한 네트워크 격리
    • AWS KMS를 통한 저장 데이터 암호화
    • SSL을 사용한 전송 데이터 암호화
  • MySQL 및 PostgreSQL 호환
    • 오픈소스 데이터베이스와 완벽환 호환을 지원 -> 쉬운 마이그레이션
  • 완전 관리형
    • 인프라 구축에 대한 걱정 X (Amazon RDS가 모두 관리)
    • S3로 백업하기에 특점 시점 복구(PITR) 가능
  • 마이그레이션
    • MySQL, PostgreSQL을 지원하기에 쉬운 마이그레이션이 가능

 

 

Aurora cluster volume

Aurora는 공유 스토리지 계층을 사용

  • Aurora 데이터들은 SSD를 사용하는 단일 가상 볼륨인 클러스터 볼륨에 저장됨
  • (이러한 볼륨에는 사용자 데이터, 스키마 객체, 내부 메타데이터가 포함)
  • 데이터베이스 데이터 용량이 늘어날수록 Aurora 클러스터 볼륨도 자동으로 확장
  • (10GB에서 시작하여 자동으로 10GB씩 증가하며 최대 크기는 128TiB)
     
특성 기존 DB Auurora 클러스터 볼륨
데이터베이스 로깅 재실행 로그 레코드에 기록 데이터베이스 자체가 로그
데이터 스토리지 쓰기가 페이지로 그룹화 페이지가 주기적으로 디스크로 플러시 데이터 미러링 쓰기가 셀로 그룹화 셀이 즉시 저장 셀이 볼륨에서 6번 복제
구성 요소 장애 및 쿼럼 구성 요소 장애로 모든 I/O 작업이 차단되거나 성능에 영향 미칠 수 있음 쿼럼은 회피/우회에 사용됨
데이터 복제 데이터 미러링을 통한 복제 샤딩 및 스케일 아웃 메커니즘을 기반으로 복제



 

분산 스토리지 볼륨

 

 

스토리지 볼륨은 3개의 가용 영역에 분산된 수백 개의 스토리지 노드에 스트라이프 된다.

이때 데이터는 6회 복제되고 각 가용 영역에 사본 2개가 저장 됨

이렇게 가용 영역에서 데이터가 자동 복제되기에 데이터 손실 가능성은 감소하고 내구성이 크게 증가

 

 

Aurora 스토리지 안정성

  • 최대 128Tib의 가용 스토리지
  • 스토리지 자동 복구 : 3개의 AZ 영역에 데이터를 6회 자동 복제하므로 디스크 장애 위험 감소
  • 유지 가능한 캐시 워밍 : 인 메모리 페이지 캐시에 저장된 기존 공통 쿼리 페이지를 이용해 버퍼 풀을 미리 로드
  • 충돌 복구 : 충돌 시 즉시 복구하도록 설계 됨

 

Amazon Aurora vs Amazon RDS

 

 

 

Aurora MySQL 병렬 쿼리 클러스터

 

Amazon Aurora 병렬 쿼리는 데이터를 별도의 시스템으로 복사할 필요 없이 현재 데이터에 대한 분석 쿼리를 더 빠르게 제공하는 Amazon Aurora 데이터베이스의 기능입니다. 핵심 트랜잭션 워크로드의 처리량을 높게 유지하면서 쿼리 속도를 최대 100배로 높일 수 있습니다.


일부 데이터베이스는 하나 또는 몇 개 서버의 CPU에 걸쳐 쿼리 처리를 병렬화할 수 있지만, 병렬 쿼리는 Aurora의 고유한 아키텍처를 활용하여 Aurora 스토리지 계층에 있는 수천 개의 CPU 전체로 쿼리 처리를 푸시 다운하여 병렬화합니다. 병렬 쿼리는 분석 쿼리 처리를 Aurora 스토리지 계층으로 오프로딩하여 트랜잭션 워크로드의 네트워크, CPU 및 버퍼 풀 경합을 줄입니다.

병렬 쿼리 사용 시 주의 사항 : https://brunch.co.kr/@cebi750/10

 

 

Aurora Serverless

Amazon Aurora를 위한 On-demand 자동 크기조정 역할을 해줌

이를 통해서 DB를 자동으로 시작 및 종료하고, 애플리케이션의 필요에따라 용량을 늘리거나 줄일수 있다. 또한 이 기능을 통해 데이터베이스 인스턴스를 관리하지않고도 클라우드에서 데이터베이스를 실행할 수 있다. 사용빈도가 낮거나 간헐적이거나 예측할수없는 워크로드를 위한 간단하고 비용효율적인 옵션

  • 간편성 : Database 인스턴스 및 용량 관리의 복잡성을 크게 줄이고 데이터 베이스가 자동으로 시작 및 종료되고 애플리케이션의 필요에 따라 크기가 조정됨
  • 확장성 : 클라이언트 연결 중단없이 필요에 따라 컴퓨팅 및 메모리 용량을 원활하게 확장
  • 비용 효율성 : 사용하는 데이터베이스 리소스에 대해서만 초당 요금을 지불
  • 실제로 실행하지 않는 경우 데이터베이스 인스턴스에 대한 요금을 지불하지 않음
  • 고가용성 스토리지 : 데이터 손실을 방지하기위해 6개의 복제 기능과 내결함성을 갖춘 분산 및 자가복구 Aurora 스토리지를 기반으로 구축
반응형

'Applied > AWS' 카테고리의 다른 글

[AWS] KMS(Key Management Service) 실습  (0) 2022.11.30
Yaml 파일이란?  (0) 2022.09.20
[AWS] Lambda란?  (0) 2022.09.18
[EKS] Kubenetes 명령어 연습하기  (0) 2022.09.14
AWS DynamoDB 개념  (0) 2022.09.07