1
何时在DynamoDB中使用多个表?
DyanmoDB 最佳实践明确表明: 您应在DynamoDB应用程序中维护尽可能少的表。设计良好的大多数应用程序只需要一张桌子。 我发现这很有趣,因为我所见过的每一个有关DyanmoDB的教程都具有多表设计。 但是,这实际上意味着什么? 让我们考虑一个具有三个主要实体的简单应用程序:用户,项目和文档。一个用户拥有多个项目,一个项目可以有多个文档。我们通常必须在用户的项目和项目的文档上进行查询。读取数量多于写入数量。 天真的教程的表设计将使用三个表: Users Hash key user-id Projects Hash key Global Index project-id user-id Documents Hash key Global Index document-id project-id 我们可以很容易崩溃Project,并Document为一个Documents表: Documents Hash key Sort key Global Index project-id document-id user-id 但是为什么要停在那里?为什么不用一张桌子来统治他们呢?既然User是一切的根源... Users Hash key Sort key user-id aspect --------- --------- foo user email: foo@bar.com …