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

Ali*_*Ali 1 boto amazon-dynamodb

我想用boto更新dynamodb中的一个项目,而我这样做的方式,我get_item首先需要它,然后我更改项目然后put它,是否有任何差异,性能损失或其他方面,使用update_item而不是put.

yad*_*taf 6

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

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

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


gre*_*reg 5

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

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

  • ``UpdateItem``不能保存吞吐量,只能节省带宽.消耗的容量单位基于"更新前"和"更新后"中的较大者来计算.有关容量单位的更多背景信息,请参阅http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/WorkingWithDDTables.html#CapacityUnitCalculations. (2认同)