클라우드 컴퓨팅 & NoSQL/Amazon Web Service

Dynamo 특징

Terry Cho 2012. 12. 6. 17:49

Dynamo 특징


- SSD 사용

- Atomic Counter 보유

- 전체 용량 한계 없음


attribute (name,value) pair

item : set of attribute with key

table : set of items


- range query를 위한 compisite primary key 지원

 ( "hash partition attribute", " range attribute" )

 

 

 http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/QueryAndScan.html

 

 Cloud Search와 연동 가능

 

 

 Read/Write에 대한 용량 보장 유료

 Read capacity

 Write capacity

 

 Units of Capacity required for writes = Number of item writes per second x item size (rounded up to the nearest KB) 

Units of Capacity required for reads* = Number of item reads per second x item size (rounded up to the nearest KB) 

Eventually Consistency 를 사용할 경우, Consistency를 사용하는 경우보다 x2배의 unit capacity 가 요구 됨


limitation

max는 10,000

item size 64kb

hash primary key value 2048 byte

range primary key value 1024

batch get up to 100 items, max 1MB

Batch write 25 items/put, up to 1MB

Query Result set limited to 1MB per API call. You can use the LastEvaluatedKey from the query response to retrieve more results.

Scan Scanned data set size maximum is 1MB per API call. You can use the LastEvaluatedKey from the scan response to retrieve more results.


큰 데이타를 직접 저장할 수 는 없고, index 정보 정도만 저장하고, 큰 사이즈 파일이나 binary등은 S3나 기타 파일 시스템에 저장해야 함.


Query : 쿼리 결과는 range key에 의해서 sorting 됨 (asc), up to 1M

Scan : table full scan

Pagenation 지원

- LastEvaluatedKey 사용. 질문 LastEvaluatedKey 를 사용하면, 두번째 pagenation시 다시 query가 발생하는가? (발생후, move to LastEvaluatedKey) 인가? 아니면 internal cursor를 유지하는가

Limit : Query result 개수 지원