2015-01-28 2 views
2

좋아요, 읽기 단위에 대한 이해는 항목이 4KB를 초과하지 않는 한 항목 당 판독 단위가 1 개라는 것을 의미합니다.이 경우 읽기 단위 = 천장 (항목 크기/4)입니다.DynamoDB에서 처리량 읽기

그러나 80 개 항목 (프로비저닝 된 처리량이 100)을 요청하는 검색을 제출하면 응답으로 ConsumedCapacity가 2.5 또는 3 읽기 단위로 반환됩니다. 프로비저닝 된 하드웨어의 97 %가 사용되지 않기 때문에 이것은 실망 스럽습니다. 왜 이것이 사실 일지 모른다고 생각하세요?

답변

1

80 개 항목의 항목 크기는 얼마입니까? 여기에 설명서를 보면 : http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html

당신은 하나의 요청에 테이블에서 연속 된 여러 항목을 검색 할 DynamoDB의에 쿼리 및 스캔 작업을 할 수 있습니다. 이러한 작업에서 DynamoDB는 처리 된 항목의 누적 크기를 사용하여 프로비저닝 된 처리량을 계산합니다. 예를 들어 쿼리 작업이 각각 1KB 인 항목 100 개를 검색하는 경우 읽기 용량은 (100 × 4KB) = 100 읽기 용량 단위가 아니며 GetItem 또는 BatchGetItem을 사용하여 개별적으로 검색 한 것처럼 계산됩니다. 대신 합계는 25 개의 읽기 용량 단위 ((100 * 1024 바이트) = 100KB로 4KB로 나눕니다).

따라서 항목이 작 으면 스캔이 예상 한만큼의 용량을 소비하지 않는 이유를 설명합니다. 또한 Scan은 결국 읽기 일관성 읽기를 사용하며 읽기 용량 단위의 절반을 소비합니다.