Amazon dynamodb 使用分层键保存数据或在DynamoDB表中复制数据

Amazon dynamodb 使用分层键保存数据或在DynamoDB表中复制数据,amazon-dynamodb,Amazon Dynamodb,我在dynamodb中有一个带有层次信息的表,例如agency a->agency B->agency C等等。 在另一个表中,我需要保存与该机构层次结构相关的数据,该数据包含所有机构的一般信息以及每个机构特有的其他信息。 例如,如果项目是由机构C创建的,则应在机构C、机构B和机构A中看到该项目;如果项目是由机构B创建的,则应在机构B和机构A中看到该项目;如果项目是由机构A创建的,则只有机构A应看到该项目。有几个层次。 我在想两种方法: 1.为每个级别的机构复制相同的元素,并使用带有机构PK i

我在dynamodb中有一个带有层次信息的表,例如agency a->agency B->agency C等等。 在另一个表中,我需要保存与该机构层次结构相关的数据,该数据包含所有机构的一般信息以及每个机构特有的其他信息。 例如,如果项目是由机构C创建的,则应在机构C、机构B和机构A中看到该项目;如果项目是由机构B创建的,则应在机构B和机构A中看到该项目;如果项目是由机构A创建的,则只有机构A应看到该项目。有几个层次。 我在想两种方法: 1.为每个级别的机构复制相同的元素,并使用带有机构PK id的索引,这样我可以获得每个机构的相应元素。 2.使用全局索引PK“element”和SK agencyAId#agencyBId#agencyCId等创建单个元素,并能够使用PK->“element”和SK->startWith(agencyAId#agencyBId#agencyCId等)搜索代理的元素

最好的方法是什么?第一种方法会创建大量冗余数据,当创建或更新元素时,如果发生故障,则很难保持完整性。 在第二种情况下,将创建一个热分区


提前感谢。

使用复制/sql而不是热键,因为nosql的唯一好处是性能,如果您有热键并在O(n)中获取数据,那么仍然使用nosql路径是没有意义的。使用复制/sql而不是热键,因为nosql的唯一好处是性能,如果您有热键并在O(n)中获取数据,无论如何,使用nosql路径是没有意义的。