DynamoDB 개요
DynamoDB란?
- Amazon에서 제공하는 완전관리형 데이터베이스
- 수많은 AWS의 데이터베이스 서비스 중, key-value의 NoSQL 데이터베이스
DynamoDB 특성
- 트랜잭션이 집중되어서 부하가 높아져도 Scale Out을 통해 탄력적인 트랜잭션 처리
- Scale Out을 해도 낮은 레이턴시(ms 단위) 유지
- 듣기로는 복잡한 쿼리가 없고, 해시를 사용해서 데이터를 바로 읽고 쓰기 때문에 가능하다고 한다.
- mission critical한 OLTP를 위해 설계된 데이터베이스
- cross-region에 레플리케이션
- NoSQL의 특성인 schema-less한 데이터 저장
DynamoDB 기본 용어
읽기 및 쓰기 단위
- 읽기 용량 단위(RCU)
- 초당 강력히 일관된 읽기 1회 또는 초당 최종 읽기 일관성 2회
- 크기가 최대 4KB인 항목
- 쓰기 용량 단위(WCU)
인덱스
- 글로벌 보조 인덱스
- 서로 다른 속성을 쿼리 기준으로 사용하여 다양한 유형의 쿼리를 수행해야할 때 사용
- 예를 들어, 웹페이지에서의 리스트 표시시, 필터링 기능 구현
- 로컬 보조 인덱스
Partition key
- 테이블에 무조건 하나만 존재해야하는 값
- DynamoDB는 데이터를 여러 파티션(샤드)에 나눠서 저장을 하는데, 파티션을 나누는 기준이 되는 키
sort key
- 같은 파티션키를 정렬해서 저장하기 위한 구분 키
- 필수는 아님
- sort key를 잘 설계하면 쿼리를 다양하게 구사할 수 있다
덕분에 좋은 정보 얻어갑니다, 감사합니다.