Skip to content

Latest commit

 

History

History
72 lines (61 loc) · 4.03 KB

DynamoDB.md

File metadata and controls

72 lines (61 loc) · 4.03 KB

DynamoDB

DynamoDB

  • SSD기반 무제한 스토리지
  • key-value 형태로 저장
  • 10m/s 미만의 응답 시간
  • 확장이 단순하고 신속함
  • 자동 이중화 백업 (3개 지역 분산)
  • 관리 부담 감소 사용 편의성
  • 비정형 데이터 저장에 유용함
  • 완전관리형 NoSQL 데이터베이스
  • 서버리스 서비스

백업 및 복구

  • DB 테이블에 대해 온디맨드 백업을 생성하고 특정 시점으로 복구를 활성화
  • 특정 시점으로 복구 PITR(Point-in-time recovery)를 사용해 최근 35일 이내 원하는 시점으로 테이블 복원 가능

테이블 클래스

  • Standard
    • 기본형으로 대부분의 워크로드에 권장
  • Standard-IA
    • 애플리케이션 로그, 전자 상거래 주문 내역와 같이 자주 엑세스하지 않는 데이터를 저장하는 테이블에 대한 비용을 줄임

읽기/쓰기 용량 모드

  • 온디맨드 모드
    • 초당 읽기/쓰기 처리량을 자동으로 조정
    • 트래픽 예측이 불가능한 경우 사용
  • 프로비전드 모드
    • 읽기/쓰기 횟수를 수동으로 조정
    • 트래픽 예측이 가능한 경우 사용

Accelerator (DAX)

  • 데이터베이스 앞에 인메모리 캐시를 사용해서 DB의 읽기 성능을 향상시키는 기능
  • 마이크로 초 단위의 응답시간을 제공

TTL (Time To Live)

  • TTL을 사용하여 항목별 타임스탬프를 정의하여 항목이 더 이상 필요하지 않는 시점을 결정
  • 지정된 타임스탬프 날짜 및 시간이 지나면 테이블에서 항목을 삭제

글로벌 테이블

  • 리전간에 데이터베이스를 복제하는 기능
  • 모든 리전에서 읽기, 쓰기 가능
  • 복제본 테이블에 있는 항목의 모든 변경 사항은 동일한 글로벌 테이블 내의 다른 모든 복제본에 1초 이내로 복제됨
  • 하나의 리전에 문제가 발생해도 다른 리전으로 라우팅 되므로 재해 복구 기능을 함
  • 사용자는 가까운 리전에서 DB를 사용하기에 더욱 빠른 성능 지원

Streams

  • DB 테이블에 저장된 항목에 변경이 발생하는 경우 변경 사항을 캡쳐하는 기능
  • 변경 사항에 대해 Kinesis Data Stream으로 보내거나 Lambda로 트리거하여 SNS로 전송하여 이메일 등의 이벤트 알림을 생성할 수 있음

읽기 일관성

  • 데이터를 읽을 때 사용자는 읽기를 최정적 일관된 읽기나 강력한 일관된 읽기로 지정 가능
  • 최종적 일관된 읽기
    • 최종 일관성 옵션은 읽기 처리량을 최대화
    • 최종적 일관된 읽기는 최근 완료한 쓰기 결과를 반영하지 못할 수 있음
  • 강력한 일관된 읽기
    • 읽기 전에 성공적인 응답을 수신한 모든 스기를 반영한 결과를 반환
    • 최종적 일관된 읽기보다 읽기 지연시간이 길어지거나 처리 용량을 많이 사용

S3와 통합하기

  • S3로 내보내기
    • DynamoDB 테이블의 데이터를 S3 버킷으로 보내는 기능
    • 자동 백업인 특정 시점으로 복구(PITR) 기간 내의 데이터만 내보낼 수 있음 (최대 35일)
    • 기능 사용을 위해서는 특정 시점으로 복구 PITR가 활성화 되어야함
    • 데이터를 DynamoDB JSON 형식 또는 Amazon Ion text format 형식으로만 내보낼 수 있음
    • S3로 내보낸 데이터를 Athena, Glue, Lake Formation 등 다른 AWS 서비스를 사용하여 데이터에 대한 분석과 복잡한 쿼리를 수행 가능
    • 테이블 내보내기는 테이블의 읽기 용량을 사용하지 않으며 테이블 성능 및 가용성에 영향을 주지 않음
    • 테이블 데이터를 다른 AWS 계정이 소유한 S3 버킷 및 해당 테이블이 있는 리전과 다른 리전으로 내보낼 수 있음
  • S3에서 가져오기
    • S3의 데이터를 DynamoDB 테이블로 가져오는 기능
    • CSV, DynamoDB JSON 형식 또는 Amazon Ion text format을 가져올 수 있음