我正在尝试开发可能存在以下问题的DynamoDB表:
1-客户来说-“嘿,当我单击产品列表中的产品时,我想查看有关该产品的所有信息,包括生产该产品的工厂地址”
2-客户端还需要在必要时更新工厂地址。
您将如何绘制这张桌子?您会在每个产品中添加工厂的完整地址吗?
我主要关心的是必须运行的查询量。
如果我将产品放在一个表中,将工厂放在另一个表中,则必须调用2个查询才能带出客户想要的所有信息
如果我在产品项中添加了工厂地址,则必须更改多行,以防工厂地址被更改。
我想有一种方法,我只需更新一项即可更新工厂地址,并且只运行一个查询即可获取所有产品信息和工厂地址。
有可能还是仅在关系数据库中?
答案 0 :(得分:1)
“如果我在产品项中添加工厂地址,则工厂地址更改时,我必须更新多行。” <-这绝对不值得。每次更新工厂地址时,您可能要付出很大的写容量。
我在DynamoDB上运行了一个相当复杂的应用程序,并将为您的方案创建2个表:Products表,该表具有一个带有FactoryID
的属性,以及一个工厂表,其中带有FactoryID
作为哈希键。在实践中,我发现DynamoDB可以快速进行多次查找(如果需要,您可以将它们一起批处理),并且我经常使用这种模式通过来自不同表的信息来“混合”应用程序中的产品。