【问题标题】:Structure Products & Categories - DynamoDB结构化产品和类别 - DynamoDB
【发布时间】:2018-11-26 17:11:32
【问题描述】:

我正在创建一个包含 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 中是否有很好的方法来做到这一点?

【问题讨论】:

  • 我不太明白你在做什么。但是,听起来您想要对产品中的某些数据进行某种聚合或物化视图。您应该查看这篇 AWS 博客文章。它讨论了(除其他事项外)如何实时创建和维护数据的不同/相关视图(这将使您不必每天缓存它)。 aws.amazon.com/blogs/database/…

标签: amazon-dynamodb


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-07-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    相关资源
    最近更新 更多