Dynamodb 具有强一致性的多对多关系

问题描述 投票:0回答:1

GSI 的一个问题是最终一致性问题。 那么如何设计一个强一致性的多对多关系呢?

假设我有一个分区键作为 customerid,排序键作为 accountnumber

账号上有一个 gsi

插入记录后我还需要支持按帐号查找。

但是使用帐号上的 gsi 我可能会遇到竞争条件,然后通过帐号查找我不会返回结果

那么该怎么办呢?如何解决强一致性的多对多关系?

参考文档 -https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-adjacency-graphs.html

amazon-dynamodb many-to-many eventual-consistency
1个回答
0
投票

GSI 很方便,允许您执行一次插入并获取两项(一项在基表中,一项在索引中)。

您可以删除 GSI 并自己插入两项(一项插入基表,另一项使用不同的键插入替换 GSI 的不同基表),并且您可以在写入时使用事务来获得强一致性。

© www.soinside.com 2019 - 2024. All rights reserved.