티스토리 뷰

반응형

데이터베이스 서비스

적절한 데이터베이스 선택

  • 관계형(SQL) 데이터베이스 : Amazon RDS, Aurora
  • 비관계형(NoSQL) 데이터베이스 : DynamoDB, ElastiCache

관리형 서비스와 비관리형 서비스

  • 관리형 서비스 : 인프라는 AWS 관리
  • 비관리형 서비스 : 인프라 내가 관리

Amazon RDS

  • Amazon Aurora, PostegreSQL, MySQL, MariaDB, Oracle, SQL Server, DB2 7종 지원
  • 다중 AZ 배포 : 동기식으로 데이터 저장
  • IP로 접근하는게 아니라 엔드포인트로 접근함
  • 장애 발생 시 자동 장애 조치 수행
    • 대기 인스턴스가 프라이머리로 승격되고 기존 프라이머리 인스턴스는 새 대기 인스턴스 생성
    • 최소 5분 정도 소요되기 때문에 장애가 5분 동안 발생한다는 뜻
    • 커넥션 풀이 다시 재생성되서 붙기 때문
  • 읽기 전용 복제본 (read replica) : 복제본을 프라이머리 DB 인스턴스와 동기화 (비동기식 복제)
  • 저장 데이터 암호화 : AWS KMS(Key Management Service)를 사용하여 저장 데이터 암호화 제공

Amazon Aurora

  • 클라우드를 위해 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스
  • 프라이머리 인스턴스 (읽기 및 쓰기 작업)와 Aurora 복제본 (읽기 작업만 지원) 두 가지 인스턴스 유형 제공
  • PostgreSQL 및 MySQL용 Aurora Serverless : 애플리케이션 요구 사항을 기반으로 하여 용량을 자동 확장하거나 축소하는 Aurora용 크기 조정 구성

Amazon DynamoDB

완전관리형 NoSQL AWS 데이터베이스 서비스 (serverless)

  • 기본 키
    • 파티션 키
      • hot partition 현상 : 게임 회사 DB에서 partition 기준을 user_id로 한 경우 유저마다 게임 시간이 달라서 발생
    • 정렬 키 : 다양한 쿼리 기능 제공
  • 하나의 row = RDB에서는 record -> DDB에서는 item(항목)이라고 부름

글로벌 테이블 : 리전 간 복제 자동화

비용구조

  • GB/Month
  • 성능
    • RCU (Read Capacity Unit)
      • SCR(Strong Consistent Read, 강력한) = 1초 4kb 1건
        • 가장 최신 데이터로 응답을 반환
      • ECR(Eventually Consistent Read, 최종) = 1초 4kb 2건
        • 최근 데이터가 아닐 수도 있음
    • WCU (Write Capacity Unit) = 1 wcu = 1초 1kb 1건

데이터베이스 캐싱

자주 참조하는 데이터는 캐시에 올려놓는 캐싱 전략

레이지 로딩

1. 애플리케이션이 캐시에 데이터 요청

2. 캐시 미스

3. 애플리케이션이 데이터베이스에서 누락된 데이터 요청

4. 데이터베이스에서 데이터 반환

5. 애플리케이션이 반환된 값을 캐시에 작성

라이트 스루

쓰기 성능이 떨어질 수 있음

1. 애플리케이션이 데이터베이스에 데이터 작성

2. 애플리케이션이 캐시에도 데이터 작성

Amazon ElastiCache

  • Redis
  • Memcached

Amazon DynamoDB Accelerator(DAX)

DynamoDB를 위한 빠른 인 메모리 성능을 제공하는 완전관리형 고가용성 캐싱 서비스

데이터베이스 마이그레이션 도구

  • AWS Schema Conversion Tool (AWS SCT) : 이기종 데이터베이스를 AWS의 대상 데이터베이스로 마이그레이션
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함