DynamoDB全局用户表事务



我正在重新探索AWS的世界,我知道全局表不支持事务,所以我不知道如何解决这个问题。我有一个USER全局表,它存储有关我的用户的信息,USERNAME是分区键。我担心的一个边缘情况是,如果用户A创建了一个用户名为"BOB"的新帐户,而用户B在第二个帐户写入表和副本表之前创建了一一个具有相同"BOB"的新帐户。用户B会覆盖这个帐户吗?或者会发生什么?

这只是一个例子,我正试图将同样的概念应用于我的其他表。

来自文档:

如果应用程序大约在同一时间更新不同区域中的同一项目,则可能会发生冲突。为了帮助确保最终的一致性,DynamoDB全局表在并发更新之间使用最后一个写入程序获胜协调,其中DynamoDB尽最大努力来确定最后一个写程序。有了这种冲突解决机制,所有副本都将同意最新的更新,并收敛到它们都具有相同数据的状态。

基于以上内容,DynamoDB将尽最大努力确定最后一个写入程序,在这种情况下为USER B。然后,所有副本都将对此达成一致,并使用USER B的数据作为最终结果。

关键短语是尽最大努力。因此,不能保证它会一直以这种方式发生。

相关内容

最新更新