在dynamodb中你可以使用“put”而不是“update_item”

时间:2012-10-15 17:47:32

标签: boto amazon-dynamodb

我想使用boto更新dynamodb中的项目,而我的方式,我首先需要get_item,然后我更改项目并put它回来了,有没有差异,性能损失或其他方面,使用update_item而不是put来执行此操作。

2 个答案:

答案 0 :(得分:6)

我不知道两者之间有任何性能差异。无论如何,使用DynamoDB,您需要为保证的吞吐量付费。

这就是说,UpdateItem允许您只编辑项目的特定子集。而且,这是使用原子增量的唯一方法。

如果你有一个非常大的项目并想要更新一个小字段,那么你应该使用UpdateItem来代替备用WriteCapacity。但这是主要的用例。

答案 1 :(得分:5)

保存吞吐量并仅更新需要更新的字段。 update_item的唯一缺点是它不能作为批处理功能使用。

更正:如评论中所述,Dynamo实际上使用最大记录来计算写入容量,因此如果您只更新一个字段,它仍将根据总容量计算写入量。已存在的记录,如果您输入具有相同ID的记录,这也适用。