차이 DynamoDb PutItem 대 UpdateItem?

기반에서 문서는 사람이 왜사용 updateItem대신에putItem?


PutItem-씁니다 하나의 항목 테이블에 있습니다. 는 항목이 있는 경우 동일한 기본 키가 있는 테이블에서 작업을 대체합니다. 을 계산하기 위한 프로비저닝 처리 소비,항목 크기는 문제가 있는 두 개의 큰. UpdateItem-수정의 단 item 테이블에 있습니다. DynamoDB 고려 항목의 크기를 나타나기 전과 후 업데이트합니다. 프로비저닝하는 처리량을 반영한 큰 이러한 항목 크기입니다. 는 경우에도 당신 업데이트 정보를 사용하여 모든 하위 항목이's 특성을,UpdateItem여전히 소비 전액의 프로비전은 처리량(the 의 더 큰"전"와"후"항목 sizes).

해결책

주요 차이점은,PutItem 것입니다*교체*전체 항목하는 동안 UpdateItem 것업데이트**니다.

예를 들어.

나는 같은 항목:

userId = 1
Name= ABC
Gender= Male

내가 사용하는 경우 품목과 함께

UserId = 1
Country = India

이를 대체 이름,성별,지금은 새로운 항목은 사용자 Id 및 나라입니다. 하는 동안 당신이 원하는 경우를 업데이트 항목에서Name=ABC Name=123를 사용해야 합 UpdateItem

당신이 사용할 수 있는 항목을 넣어를 업데이트 하지만 당신은 필요를 보내는 모든 매개변수를 다 매개변수는 당신 업데이트하고 싶기 때문에 그것을 대체하는 항목으로 새로운 특성이 있습니다.(내부적으로 삭제하는 항목을 추가로 새로운 항목)

희망이다.

해설 (3)

PutItem덮어 전체 항목을(모든 특성이)새로운 버전으로 전달되는 동안UpdateItem업데이트전달된 특성

****성능:PutItem에 영향을 미칠 수 있습에 성과를 덮어쓰는 경우 전체 항목 그래서 종종 그것이 이상의 작업이 포함보다는UpdateItemFindItem,DeleteOldVersion 및 AddNewVersion

에서 비용이 예상,그것은뿐만 아니라 다른:

AWS 비용을 계산합에 따라 사용 읽기/쓰기 수용량 단위는 완전히 묶어의 크기는 항목을 덮어/업데이트됩니다.

의 경우에는PutItem,크기가 더 큰 의 새로운 오래된 버전의 항목입니다. 예를 들어,교체 2KB 항목과 1 킬로,그것은 소비하는 2WCUs 그러나 그 이후 요청에만 사용하는 1WCU. 그래서 만약 당신이'다시 덮어쓰기 너무 자주의 크기와 항목을 크게 변경을 계산하는 항상 더 큰 버전의 항목과에 영향을 미칩니다.

의 경우 수정을 사용하여 항목을UpdateItem,크기를 포함한 항목의 모든 기존의 속성을 아닌 더 큰 버전 다음과 같PutItem:)뿐만 아니라 사람을 추가하거나 업데이트:(

해설 (0)