amazon-dynamodb - 结构产品和类别 - DynamoDB
问题描述
我正在创建一个包含 10000 种产品的产品目录数据库,并想知道在 NoSQL 数据库中构建它们的最佳方法是什么?
我需要确保我可以创建一个类别结构来动态构建菜单(将每天缓存)
首先我认为产品可以包含自己的类别数据
- EAN 是主键
- CatSlug 是排序键
产品 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 中是否有这样做的好方法?
解决方案
您可以使用以下模式在 CatSlug 中表达您的类别层次结构:cat#cat#cat... 然后构建二级全局索引,其中 CatSlug 为 PK,EAN 为 SK。
推荐阅读
- linux - 如何使用 bash 命令将文件中的多列合并为单列?
- python - 不同行和列数据框python中的总和值
- php - 身份验证::id(); 返回 'null' 或 auth::check(); 返回“假”
- scala - Spark:并行的多个独立动作
- python - 如何使用 cv2.drawContours 从 numpy 点数组中绘制填充轮廓?
- java - 从 arraylist 和 hashmap 中删除重复项
- cakephp - 使用 CakePHP3 从 gmail 发送电子邮件,连接被拒绝
- python - 在 Python 中连续播放采样的音频数据
- php - Q: Silex 2.3 和自定义表单类型应该使用自定义模板
- c# - 卸载 Application Insights nuget 包是否安全?