Amazon dynamodb 排序处理中的DynamoDB流

Amazon dynamodb 排序处理中的DynamoDB流,amazon-dynamodb,Amazon Dynamodb,假设我有以下带有条目的DynamoDB表: 一列 a1 b1 c1//条目1 a1 b2 c2//条目2 A是键(分区键),B是排序键(唯一键),C是属性 我想确保DynamoDB流可以保证B的订单处理 如果在此订单中进行了更改-(注释C更新了3次) {a1,b1,c1}=>{a1,b1,c2}=>{a1,b1,c3} DynamoDB流能保证订购吗? 看起来可以保证按顺序处理同一密钥上的更新。在本例中,a1(键)上的任何更新的顺序都将被保留?是的,顺序被保留,因为在DynamoDB中,对项目的

假设我有以下带有条目的DynamoDB表:

一列

a1 b1 c1//条目1

a1 b2 c2//条目2

A是键(分区键),B是排序键(唯一键),C是属性

我想确保DynamoDB流可以保证B的订单处理

如果在此订单中进行了更改-(注释C更新了3次)

{a1,b1,c1}=>{a1,b1,c2}=>{a1,b1,c3}

DynamoDB流能保证订购吗?
看起来可以保证按顺序处理同一密钥上的更新。在本例中,a1(键)上的任何更新的顺序都将被保留?

是的,顺序被保留,因为在DynamoDB中,对项目的所有更改都是使用项目键(无论是仅分区还是复合)进行的,DynamoDB流保证只执行一次,以便将所有突变传递到每个项目

发件人:

  • 每个流记录在流中只出现一次

  • 对于在DynamoDB表中修改的每个项,流 记录的出现顺序与对文件的实际修改顺序相同 项目


当多个lambda正在处理流时,这怎么可能呢?顺序处理只有在您只有一个消费者的情况下才有意义,或者协调您的消费者,所以不确定您真正的问题是:DynamoDB保证更改按顺序流化,只需一次——如何使用它们取决于您;也就是说,即使使用lambda,并发性也是由分区数量控制的碎片数量控制的,所以实际上,您不会有多个lambda处理对同一项的更改