鉴于我的访问模式,我目前正在努力决定什么是在DynamoDB中建模数据的最佳方法。我是DynamoDB的新手,这一切看起来都非常令人兴奋,但是事实证明,摆脱以关系/文档的方式来决定事情的努力。
我打算存储具有以下属性的产品:
我的挑战是我希望能够根据用户定义的状态,类型,供应商和管理员过滤器来获取产品。最直接的声音就像上面设计表格一样,并根据用户输入向查询添加过滤器。
我想避免使用过滤器,因为这不会使我节省读取单元的费用,尤其是因为我不知道该分区的键,因此看来这将是一次扫描。我有哪些选择,我可以对此进行不同的设计还是可以使用一些智能复合排序键和GSI来解决此问题?尤其有趣的是,过滤器允许许多选项,因此我可以为产品类型设置两个值。
我的研究似乎表明,我应该考虑分层数据的复合排序键,但情况并非如此,不确定如何最好地处理该问题。
问题:,我认为有多种选择,该如何建模呢?