AWS DynamoDB

2023. 12. 26. 22:19·클라우드&인프라/AWS 구조와 서비스

키-값 데이터베이스란

  • Amazon DynamoDB는 key-value 형 데이터를 저장하는 데이터베이스 입니다.
  • 단순한 데이터 구조이므로 복잡한 검색은 할 수 없지만 고속으로 데이터 추출을 할 수 있습니다.
  • 키-값이라는 이름에서 유추할 수 있듯이 키의 이름과 그에 대한 값으로 구성된 데이터 입니다.
  • 키와 같이 하나의 쌍으로 구성되며 되기 때문에 데이터 형태로는 자유도가 매우 높지만 RDB 보다 집계나 검색이 어렵습니다.
  • 레코드
    • 키-값 형의 데이터베이스에서 일련의 데이터
    • 레코드의 각 항목을 '속성'이라고 합니다.
    • 각 레코드가 고유하게 특정할 수 있는 속성(기본 키)을 가지고 있으면 다른 속성은 어떤 것을 가지고 있어도 상관 없습니다. (기본키로만 검색 가능)

 

DynamoDB란?

  • 키-값 데이터는 기본적으로 프라이머리 키로만 검색해 데이터를 가져옵니다.
  • DynamoDB도 내부적으로 프라이머리 키 검색을 쉽게 할 수 있게 데이터를 정리해 보존해 줍니다.
  • 서버리스 입니다. 사용자는 레코드의 집합체인 '테이블'을 생성할 뿐 테이블 조작 요청을 모두 DynamoDB가 처리하기 때문에 사용자가 서버 관리를 하지 않아도 됩니다.

 

주요 특징

  • 완전관리형 서비스
    • 서버 관리, 유지보수, 설정, 스케일링 등의 작업이 필요 없습니다.
    • AWS가 이 모든 작업을 자동으로 처리합니다.
  • 빠른 성능
    • DynamoDB는 밀리초 단위의 낮은 지연시간으로 데이터를 읽고 쓸 수 있어 매우 빠른 성능을 제공합니다.
  • 확장성
    • 트래픽과 데이터 양의 변화에 따라 자동으로 확장 및 축소가 가능합니다.
    • 사용량에 따라 테이블의 용량을 늘리거나 줄일 수 있습니다.
  • 데이터 모델링의 유연성
    • 키-값 및 문서 데이터 모델을 지원합니다. 
    • 이를 통해 다양한 유형의 데이터를 저장하고 관리할 수 있습니다.
  • 보안, 내구성 및 가용성
    • 데이터는 자동으로 복제되어 여러 AWS 가용 영역에 걸쳐 저장되며, 높은 보안 및 데이터 내구성을 제공합니다.
  • 보조 인덱스
    • 글로벌 보조 인덱스(Global Secondary Indexes) 및 로컬 보조 인덱스(Local Secondary Indexes)를 통해 다양한 쿼리 요구사항을 지원합니다.

 

DynamoDB 이용 요금

  • DynamoDB는 서버리스 서비스이므로 사용자는 데이터의 집합인 '테이블'만 소유하는 형태가 됩니다.
  • 데이터 보존 스토리지는 테이블의 데이터양에 따라 필요한 크기를 할당받으며 이와 관련된 조직은 DynamoDB가 직접 수행 합니다.
  • 요청을 처리할 양을 예약하고 그 양만큼 요금이 부과 됩니다. 또한 데이터 보관료가 발생합니다.
  • 처리량을 예약하지 않고 무제한으로 설정할 수 있습니다. 이럴 경우 이용한 만큼 요금이 발생합니다.

 

요청 처리량 예약

  • '1초에 몇 번, 일기/쓰기 요청을 받아들일 것인지'를 지정
  • DynamoDB는 예약량을 초과하는 요청에 대해 오류를 반환하지만 Auto Scaling을 사용하면 실제 요청 수에 따라 지정된 범위 내에서 예약량을 자동으로 변경할 수 있습니다.
  • 처음부터 예약량을 지정하지 않고 발생한 요청을 전부 처리해서 실제로 처리된 요청 수에 따라 요금을 지불할 수 있습니다.
  • 처리량 = 커패서티 유닛 RCU(Read Capacity Unit), WCU(Write Capacity Unit)
    • 처리량을 예약하는 방식을 프로비저닝 용량 모드
    • 처리량을 예약하지 않는 방식을 온디맨드 용량 모드

 

DynamoDB 보수

  • DynamoDB에서 사용자의 소유물은 데이터 뿐입니다.
  • 데이터를 사용하기 위한 시스템(요청 엔드포인트 및 스토리지)은 AWS가 제공하며 사용자의 커패서티 유닛이나 데이터 암호화 설정에 따라 알맞게 동작합니다.
  • 사용자는 테이블 구조 검토나 백업 계획 같은 데이터 유지 보수만 고려하면 됩니다.
  • 3개의 AZ에 실시간으로 데이터를 복제해 어느 하나의 AZ에 장애가 발생하더라도 문제없이 서비스를 이용할 수 있습니다.
  • 특정 시점 복구(PITR) 라는 실시간 백업 기능이 존재합니다. 지난 35일 내 임의의 시점으로 테이블 데이터를 되돌릴 수 있어 갑자기 데이터 손실이 발생해도 대응할 수 있습니다.

'클라우드&인프라 > AWS 구조와 서비스' 카테고리의 다른 글

고기능 Aurora의 편리한 특징  (1) 2023.12.26
AWS RDS  (1) 2023.12.26
AWS CloudFront  (0) 2023.12.25
간편하게 사용할 수 있는 DNS 서비스  (0) 2023.12.24
ELB로 부하를 분산시켜 가용성 향상  (0) 2023.12.24
'클라우드&인프라/AWS 구조와 서비스' 카테고리의 다른 글
  • 고기능 Aurora의 편리한 특징
  • AWS RDS
  • AWS CloudFront
  • 간편하게 사용할 수 있는 DNS 서비스
인프라 감자
인프라 감자
  • 인프라 감자
    삶은 인프라
    인프라 감자
  • 전체
    오늘
    어제
    • 분류 전체보기 (243)
      • 클라우드&인프라 (28)
        • 인프라 공부 (4)
        • AWS 구조와 서비스 (18)
        • 클라우드 공부 (4)
        • Terraform (2)
      • AWS Cloud School (13)
        • project (5)
        • Linux, Network (6)
        • Docker (2)
      • BackEnd (162)
        • JAVA 공부 (15)
        • 알고리즘 공부 (71)
        • MySQL 문제 풀기 (8)
        • 스프링 핵심 원리 - 기본편 (18)
        • 스프링 MVC 1편 (4)
        • 자바 ORM 표준 JPA 프로그래밍 (21)
        • 실전! 스프링 부트와 JPA 활용1 (8)
        • 실전! 스프링 부트와 JPA 활용2 (5)
        • 스프링 데이터 JPA (8)
        • Querydsl (4)
      • 혼자하는 프로젝트 (32)
        • 배달의 민족 클론코딩 (7)
        • 나만의 프로젝트 (10)
        • 스프링 부트로 구현한 웹 (15)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Email
    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    상속
    이것이 자바다
    중첩 선언
    자동 배포
    정렬
    다이나믹 프로그래밍
    디팬스 게임
    querydsl
    자바
    dp
    프로그래머스
    완전탐색
    백트래킹
    VPN
    유니온 파인드
    스프링 핵심 원리-기본편
    조합
    linux
    쿼드 압축
    네트워크 기본 용어
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
인프라 감자
AWS DynamoDB
상단으로

티스토리툴바