DynamoDB-为双向多对多关系建模吗?

时间:2019-05-06 18:07:14

标签: amazon-dynamodb dynamodb-queries

我很难为某种场景建模,而不必呼吁多个请求。

考虑一个People表,每个Person可以相互关联n次,并且此关系具有描述。

请考虑以下建模:

enter image description here

如您所见,我有两个People,而person_0001person_0002的子代。

现在,在这种情况下,如果我想获得person_0001拥有的所有关系,这很简单,我只需查询:

GET WHERE PK = "person_0001" AND SK.BEGINS_WITH("rel")

但是,由于它是双向的,我如何获得person_0002的关系?

我可以使用GSI来反转键,因此通过一个请求,我可以一次查询两个表。

但是真正的问题出在我需要更新/删除时,如何仅通过一个请求就可以删除/更新person_0002的所有关系?我只能从GSI中读取信息。

这通常是一个很大的困难,当我需要在GSI上进行删除/更新/写入时该怎么办?

0 个答案:

没有答案