生存时间是否会导致DynamoDB全局表中的竞争状况?

时间:2019-07-01 22:45:44

标签: amazon-dynamodb race-condition ttl amazon-dynamodb-streams amazon-dynamodb-global-tables

我将现有的DynamoDB数据库从一个AWS区域中的一个表迁移到四个区域中的全局表。这里有个问题:几种服务取决于当前数据库中的生存时间(ttl)功能,并且需要在新的全局表中启用ttl。似乎在多个表副本上启用ttl可能会引起问题。如果ttl在一个区域中运行,则该区域的事件流与其他区域中的ttl删除之间现在存在竞争条件。如果另一个副本设法在另一个副本的事件流到达之前删除其自己的记录,将会发生什么?由于记录已消失,第二次删除尝试是否会失败?也许AWS已经解决了这个问题,但是我找不到有关此主题的任何文档或问题论坛。

一个可能的解决方法是在一个区域上启用ttl,并让该副本中的流在其他副本中管理ttl,但是我并不喜欢这种解决方案,因为区域中断可能会完全停止ttl删除。拥有全局表的主要原因之一是防止区域中断。

0 个答案:

没有答案