DynamoDB Stream按顺序处理

时间:2018-02-08 02:35:54

标签: amazon-dynamodb

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

A B C //列

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 Stream可以保证订购吗? 看起来保证对相同密钥的更新进行有序处理。对于此示例,是否将保留对a1(键)的任何更新的顺序?

1 个答案:

答案 0 :(得分:3)

是的,保留了排序,因为在DynamoDB中,项目的所有更改都是使用项目键(无论是仅分区还是复合)进行的,而DynamoDB Streams只保证一次,按顺序将所有突变传递给每个项目。

来自the docs

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

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

  •