AWS/AWS 기초

AWS 데이터베이스의 모든 것

SALEE 2023. 4. 7. 11:31
728x90

AWS 데이터베이스 서비스

  • Rational - 참조 무결성, ACID 트랜잭션, Schema-on-write
    • Aurora, RDS
  • Key-Value - 높은 처리량, 짧은 응답시간, 끝없는 규모
    • DynamoDB
  • Document - MongoDB 호환, JSON 데이터를 쉽게 저장, 쿼리 및 인덱싱
    • DocumentDB
  • In-memory - 1밀리 초 미만의 응답 시간
    • ElastiCache
  • Graph - 상호 연결성이 높은 데이터 세트를 효율적으로 검색
    • Neptune
  • Time-series - 시간 순으로 데이터를 수집, 저장 및 처리
    • Timestream
  • Ledger - 투명하고, 변경 불가능하며, 암호화 방식으로 검증 가능한 트랜잭션 로그
    • QLDB
  • Wide Column - 확장 가능하고 가용성이 높으며 관리되는 Apache Cassandra 호환 서비스
    • Keyspaces Managed Cassandra

 

Amazon RDS

  • 가장 선호하는 6가지 DB엔진을 갖춘 관계형 데이터베이스
    • Amazon Aurora, MySQL, PostgreSQL, MariaDB, SQL Server, ORACLE
  • 관리 용이성 - 하드웨어 준비, 소프트웨어 설치 등의 관리 작업 불필요
  • 가용성 및 내구성 - 다중 AZ를 통헌 동기식 복제, 자동화된 백업, 스냅샷, 장애 조치
  • 뛰어난 확장성 - 몇 번의 클릭만으로도 다운타임 없이 컴퓨팅 및 스토리지 확장
  • 빠른 성능과 보안 - SSD 스토리지 및 성능 향상된 I/O 보장, 저장 및 전송 중 암호화 지원

 

Amazon Aurora

  • 클라우드를 위해 설계된 MySQL, PostgreSQL 호환 관계형 데이터베이스
    • 완전 관리 형 - RDS에서 관리 : 서버 프로비저닝, 소프트웨어 패치, 설정, 백업 등 자동 관리
    • 성능 & 확장성 - 표준 MySQL의 5배 처리량 표준 PostgreSQL의 3배 최대 15개의 읽기 전용 복제본 확장
    • 가용성 & 내구성 - 내결함성, 자가 복구 스토리지, 3개의 AZ에 걸쳐 6개의 데이터 복사본을 S3에 지속적으로 백업
    • 보안 - 네트워크 격리, 저장 / 전송 시 암호화

 

Aurora 아키텍처

 

Aurora의 운영 편의성

  • 최대 128TB까지 자동 스토리지 확장 - 10GB 단위로 자동 증분
  • Amazon S3로의 지속적인 증분 백업
  • 백업 시 성능 저하 또는 서비스 중단 발생 없음

 

Aurora 글로벌 데이터베이스

  • 글로벌 복제 - 최대 5개 Secondary 리전, 90개 읽기 인스턴스
  • 저지연 리전 복제 - 통상 < 1초 교체 리전 지연
  • 빠른 복구 - 리전 장애 후 < 1분 다운 타임

 

NoSQL 출현 배경

AWS RDS Proxy

 

모니터링 - Performance Insights

  • 데이터베이스 성능 확인 및 성능 문제 효과적 분석
  • 데이터 부하 상황 시각화로드
  • Top Dimension Table
    • 대기 시간, 쿼리문, 호스트 데이터베이스, 애플리케이션

 

Aurora Serverless v2

  • 수십만 건의 트랜잭션을 실행하는 경우에도 확장 가능
  • CPU 및 메모리 리소르를 추가하여 1초 이내에 확장 가능
  • 세분화된 용량 조정
    • 단위 : Aurora Capacity Unit (ACU)
    • 1 ACU : 2 GiB 메모리 단위
    • 최소 용량 : 0.5 ACU / 0.5 ACU 단위 확장

 

데이터베이스 스케일링

 

데이터 모델링 : SQL & NoSQL

 

SQL과 NoSQL

 

Amazon DynamoDB

  • 어떤 규모에서도 빠르고 유연한 NoSQL 데이터베이스 서비스
  • 어떤 규모에서든 높은 성능 제공
    • 일관된 10ms 미만의 latency
  • 서버리스 아키텍처
    • 하드웨어 프로비저닝, 소프트웨어 패치 또는 업그레이드 불필요, 자동 Scale Up / Down
  • 엔터프라이즈 수준 보안
    • 기본적을 모든 데이터를 암호화하고 AWS IAM과 완벽하게 통합되어 강력한 보안을 제공
  • 글로벌 복제
    • 여러 AWS 리전에 걸쳐 테이블을 쉽게 복제하여 로컬 데이터에 빠르게 액세스

 

규모의 따른 성능

 

DynamoDB Accelerator (DAX)

  • DynamoDB를 위한 가용성이 뛰어난 완전관리형 In-memory Cache
  • 마이크로 초 레이턴시
  • 초당 수백만 명의 사용자까지 확장 가능
  • 기존 DynanoDB API와 호환

 

글로벌 테이블

  • 전 세계에 분산된 고성능 애플리케이션 구축
  • 로컬에서 사용 가능한 테이블에 low-latency 읽기 및 쓰기
  • 간편한 설정, 애플리케이션 수정이 필요 없음

 

Key Concepts

 

DynamoDB Table

 

Local Secondary Index (LSI)

  • 최근 3개월 간의 TopScore를 보고 싶다면?
  • Partition Key 동일, Sort Key 선택

 

Global Secondary Index (GSI)

  • 각 게임별 최고 점수를 알고 싶다면?
  • 기본 테이블과는 다른 검색 조건을위한 Secondary Index

 

LSI / GSI 비교

 

DynamoDB - 수평적 스케일

  • 모든 데이터는 테이블에 저장, partition key가 필요

 

DynamoDB - 수평적 스케일 및 내구성

728x90