본문 바로가기
Cloud

[AWS] NoSQL, DynamoDB란?

by 너드나무 2024. 11. 15.
728x90

Amazon DynamoDB

모든 규모에서 10밀리초 미만의 성능을 제공하는 서버리스 NoSQL 완전관리형 데이터베이스
Core components of Amazon DynamoDB

확장성 내포 서버리스 성능

  • 키-값 및 문서 데이터 모델
    • 키-값, 문서 데이터 모델 모두 지원
    • NoSQL 데이터베이스로 항목마다 다른 속성 내포 가능
    • 유연한 스키마로 테이블 스키마 재정의 등 비즈니스 요구 사항 변경 가능
  • 0으로 규모를 조정하는 서버리스
    • 서버(프로비저닝, 패치) 및 소프트웨어(설치, 관리, 운영) 관리 부담 없음
    • 버전(메이저, 마이너 또는 패치)과 유지 관리 기간이 없으며, 가동 중지 시간이 없는 유지 보수 제공
    • 종량제 요금 제공, 0으로 규모를 조정, 용량에 맞게 자동으로 테이블 크기 조정 및 성능 유지
  • ACID 트랜잭션
    • 복잡한 비즈니스 로직이 요구되는 애플리케이션에 대해 원자성, 일관성, 격리 및 내구성(ACID) 트랜잭션을 지원
    • 트랜잭션에 대해 네이티브 서버 측 지원을 제공, 개발자가 테이블 내에서 작업하지 않고 제어 가능
    • 트랜잭션당 100개의 작업 지원
  • 글로벌 테이블을 사용하여 액티브-액티브 복제
    • DynamoDB 글로벌 테이블은 99.999%의 가용성으로 원하는 AWS 리전 전체에서 데이터의 액티브-액티브 복제 제공
    • 글로벌 테이블은 다중 활성 방식이므로 10밀리초 미만의 읽기 및 쓰기 성능 달성
    • 글로벌 테이블은 다중 리전 워크로드를 수용할 수 있도록 용량 규모를 자동으로 조정
    • 글로벌 테이블은 애플리케이션의 다중 리전 복원력 향상
  • 이벤트 기반 아키텍처의 일부인 DynamoDB Streams
    • DynamoDB Streams = 변경 데이터 캡처 기능
    • 애플리케이션이 테이블의 항목을 생성, 업데이트 또는 삭제할 때마다 거의 실시간으로 로그 확인 가능
    • 모든 변경 사항이 중복 제거되어 24시간 동안 저장
    • 각 스트림 레코드가 스트림에 정확히 한 번 표시되도록 하고, 수정된 각 항목에 대해 실제 수정과 동일한 순서로 표시
  • 보조 인덱스
    • 항목 모음 테이블 생성
    • 테이블의 각 항목에 고유한 프라이머리 키 존재
    • 하나 이상의 보조 키가 있어 다른 속성을 사용한 효율적 데이터 검색
    • 글로벌 및 로컬 보조 인덱스를 모두 생성할 수 있는 옵션 제공
    • 글로벌 보조 인덱스 == 스파스 인덱스
      • 데이터에 액세스 유연성 극대화
      • 더 저렴한 비용과 우수한 성능으로 더 낮은 쓰기 처리량 프로비저닝

요금 시나리오

  • 온디맨드 용량 모드 사용 시
    • 미국 동부(버지니아 북부) 리전에 새 DynamoDB Standard 테이블 생성
    • 사용자가 애플리케이션과 상호 작용할 때마다 1KB의 쓰기 1회와 1KB의 강력한 일관된 읽기를 수행한다고 가정
      • 1 ~ 10일차
        • 매일 테이블에 10,000회의 읽기10,000회의 쓰기
      • 11일차
        • 애플리케이션이 소셜 미디어의 관심을 얻으면서 250만 회의 읽기250만 회의 쓰기로 폭증
      • 12 ~ 30일차
        • 더욱 규칙적인 트래픽 패턴을 보이면서 월말까지 매일 평균 50,000회의 읽기50,000회의 쓰기
기간(일)쓰기 합계읽기 합계
1~10쓰기 10만 회(쓰기 10,000회 x 10일)읽기 10만 회(읽기 10,000회 x 10일)
11쓰기 250만 회읽기 250만 회
12~30쓰기 95만 회(쓰기 50,000회 x 19일)읽기 95만 회(읽기 50,000회 x 19일)
월 합계쓰기 355만 회읽기 355만 회
월별 청구 금액4.44 USD
(쓰기 100만 회당 1.25 USD x 쓰기 355만 회)
0.89 USD
(읽기 100만 회당 0.25 USD x 읽기 355만 회)
합계5.83 USD

400KB 이슈

  1. 1개의 Item400KB를 초과할 수 없음
  2. 해당 Item의 수정 작업 시 400KB 이하의 내용을 전체 삭제 및 생성
  3. 400KB를 초과하는 데이터 유형의 경우, S3 등 별도 스토리지에 저장링크를 연결하는 방식으로 구현하는 것이 좋음

 

NoSQL 데이터베이스 | 데이터 관리 | Amazon Web Services

장바구니, 워크플로 엔진, 재고 추적 및 고객 프로필 배포를 위한 설계 패턴을 사용할 수 있습니다. DynamoDB는 높은 트래픽의 대규모 이벤트를 지원하며 초당 수백만 건의 쿼리를 처리할 수 있습

aws.amazon.com

 
728x90
반응형