Actions
DynamoDB 개요¶
DynamoDB¶
- Table of contents
- DynamoDB 개요
- DynamoDB
장점요인¶
- 관리형이면서
- 성능을 예측하여 설계할 수 있고,
- 일관된 성능을 보장
- 고가용성과 내구성
올바른 이해¶
- DDB는 고유의 특징과 제약을 동시에 지님
- 특히 일관된 성능(=Latency)을 제공하는데 주력
- ex)성능 지연 대신 요청 거부(Thorttling)
RCU, WCU¶
- 테이블의 읽기(RCU)와 쓰기(WCU)에 원하는 만큼의 처리량을 설정
- RCU와 WCU는 각기 독립적으로 설정
- 1 WCU = 1KB/sec
- 1 RCU = 4KB/sec
Strongly vs. Eventually¶
- 1 RCU는 최대 4KB의 항목에 대하여, Strongly 조건으로 1/sec, Eventually 조건으로 2/sec
- ex) 6KB 항목에 대해서 100회 읽기를 Strongly, Eventually 각 수행할 경우 필요한 RCU
- Ceiling(6KB/4KB) * 100 = ceiling(1.5) * 100 = 2 * 1 * 100 = 200 (Strongly)
- Ceiling(6KB/4KB)/2 * 100 = ceiling(1.5)/2 * 100 = 2/2 * 100 = 100 (Eventually)
- ceiling 함수: 숫자를 다음 정수(whole number)로 올림하는 데 사용
파티셔닝¶
- DDB는 일관된 성능을 제공하기 위해 한 테이블을 여러개의 파티션으로 분산
- 파티션의 갯수는 Throughput과 테이블의 크기로 결정
- 어떤 항목이 어떤 파티션에 저장될지는 분산키(Hash Key)에 의해 결정
- 파티션의 갯수를 결정하는 공식
- MAX ((RCU/3000+WCU/1000), Table Size(GB)/10GB)
- MAX ((5000/3000+500/1000), 8/10) = MAX (3,1) = 3
- 매우 고르게 분포하는 분산키를 사용하고 (Uniform distribution Hash key) --> 적절한 처리량을 설정하면
- 설정한 Throughput은 모든 파티션에 균등 배분된다.
- 읽기와 쓰기에서 분산키의 인기도가 다를 수 있음 (Hot Key)
- 읽기와 쓰기에서 분산키의 인기도가 다를 수 있음 (Hot Key)
- 한번 증가한 파티션은 줄어들지 않는다.
- Throughput 확장의 고민요소
- 파티션당 RCU/WCU는 갈수록 줄어들 수 있음
- RCU/WCU가 여유 있는데 Thorttling 발생의 주 원인
- LSI는 테이블의 WCU를 소모한다.
- Throughput 확장의 고민요소
- 설정한 Throughput은 모든 파티션에 균등 배분된다.
SANGKYU KANG이(가) 약 6년 전에 변경 · 1 revisions