[Database] Amazon DynamoDB란?

Serin Yoon·2021년 4월 22일
1

Database

목록 보기
2/2
post-thumbnail

Amazon DynamoDB

  • key-value형 NoSQL 데이터베이스
  • 일반 RDB의 확장성 극복하기 위해 만든 데이터베이스

개념

  • Table: Item의 모음
  • Item: Key와 하나 이상의 Attribute
  • Attribute: Name, Value 가짐

특성

  • SNS, 게임, 미디어, IoT 등 웹 규모 애플리케이션에 적합
  • 스키마가 없음 → 각 테이블은 각 데이터 항목을 식별하는 기본 키 필요
  • 분산 하드웨어 클러스터를 통해 확장 가능
  • 요금: (1) 시간당(처리량) 요금 (2) 스토리지(GB)당 요금
  • 한 번 생성된 인덱스 삭제 불가
  • 하나의 아이템은 하나 이상의 속성 가질 수 있음

장점

  • 별도로 설치, 버전 관리 할 필요 없음
  • 저장 공간 용량 제한이 없음
  • 사용량만큼 요금 부과
  • 온 디맨드 백업 기능 제공
  • 데이터 규모에 관계 없이 데이터 저장 및 검색, 어떤 수준의 요청 트래픽이라도 처리 가능한 데이터베이스 테이블 생성 가능

단점

  • 여러 데이터 삽입 시 개수 제한 있음
  • 보조 인덱스 생성 시 데이터 수가 많지 않음에도 느린 편
  • 쿼리 제한적

기본 키

  • Hash Key: Hash Key 단위로 데이터 식별 가능한 경우 사용
  • Hash Key + Range Key: Hash Key에 해당하는 여러 데이터에서 Range Key로 검색 가능
  • Local secondary index
  • Hash primary key
  • Global secondary index

사용

  • 테이블의 Key와 Index 정하고 Read/Write 처리량 정함
  • 동작은 HTTP API로 제공
    • PutItem
    • UpdateItem
    • GetItem
    • DeleteItem
    • BatchWriteItem
    • BatchGetItem
    • CreateTable
    • DescribeTable
    • UpdateTable
    • DeleteTable
    • Query (Hash + 범위 키 조회)
    • Scan (전체 테이블 조회)
profile
티스토리로 이사했습니다 🏠

0개의 댓글