首页 > 解决方案 > 结构产品和类别 - DynamoDB

问题描述

我正在创建一个包含 10000 种产品的产品目录数据库,并想知道在 NoSQL 数据库中构建它们的最佳方法是什么?

我需要确保我可以创建一个类别结构来动态构建菜单(将每天缓存)

首先我认为产品可以包含自己的类别数据

产品 json

Products: [

 {
    "EAN" : {"S" : "123456"}, 
    "CatSlug" : {"S" : "drill"}, 
    "CatParent" : {"S" : "drill"}, 
    "Name" : {"S" : "Drill"}, 
    "Img" : {"S" : "/img/img.png"},
    "Desc" : {"S" : "Description"}
    ....

 },
 {NEXT PRODUCT}

]

但是这样做很难创建菜单结构。然后我虽然将 CatSlug 作为 PK 会更好地创建菜单结构,但您仍然需要通过大量项目来创建它。

将它作为一个单独的表会更快,但对于这种类型的数据库来说似乎是错误的。

在 Dynamo DB 中是否有这样做的好方法?

标签: amazon-dynamodb

解决方案


您可以使用以下模式在 CatSlug 中表达您的类别层次结构:cat#cat#cat... 然后构建二级全局索引,其中 CatSlug 为 PK,EAN 为 SK。


推荐阅读