Amazon dynamodb DynamoDb UpdateExpression和ADD to increment是事务性的吗?

Amazon dynamodb DynamoDb UpdateExpression和ADD to increment是事务性的吗?,amazon-dynamodb,Amazon Dynamodb,在使用ADD updateExpression更新计数器时,是否需要使用乐观锁定来确保所有客户端的所有增量都将被计数 我不确定您是否仍会将其称为事务如果这是您在DynamoDB中唯一正在做的事情,那么术语有点混乱 在我看来,说它是原子的更为正确。您可以将增量与DynamoDB中的其他更改结合起来,条件是除非该条件为真,否则不会写入增量,但如果您唯一的更改是增量,那么除了达到容量限制之外,就不会有任何其他原因(小行星撞击数据中心或类似的原因除外)为什么你的增量会失败。(除非您对您的请求提出了书面证

在使用ADD updateExpression更新计数器时,是否需要使用乐观锁定来确保所有客户端的所有增量都将被计数


我不确定您是否仍会将其称为事务如果这是您在DynamoDB中唯一正在做的事情,那么术语有点混乱

在我看来,说它是原子的更为正确。您可以将增量与DynamoDB中的其他更改结合起来,条件是除非该条件为真,否则不会写入增量,但如果您唯一的更改是增量,那么除了达到容量限制之外,就不会有任何其他原因(小行星撞击数据中心或类似的原因除外)为什么你的增量会失败。(除非您对您的请求提出了书面证明为虚假的条件)。如果您有两个客户端同时递增,DynamoDB将处理这个问题,有人将首先进入

但是假设你每秒增加a值很多次,你可能确实达到了DynamoDB的容量极限。考虑批处理流中的增量,从而可以在接收处理开始时的值时设置流应该等待的最大时间。这将使您能够在x秒内实现聚合的一致性

但是除了极高的流量情况之外,你应该没事,在这种情况下,解决这个问题的标准方法是使用非常经济高效的流,节省你的容量单位