在noSQL DynamoDB中存储产品的库存

时间:2012-12-14 06:33:45

标签: database nosql amazon-dynamodb

我正在使用亚马逊的EC2和DynamoDB构建基于PHP的电子商务平台,这是我第一次使用noSQL数据库的经验,而且我在表格建模方面遇到了麻烦。我已经搜索过高低的例子并且没有提出任何问题。

我面临的主要问题是存储产品表中任何可能属性的库存编号。还有很多属性,但我会在这里保持简单。

产品表

  • id [455]
  • 名称[Paul Stretch Shirt]
  • inPrice [100.00]
  • outPrice [200.00]
  • 颜色[红色,绿色,蓝色,白色]
  • 尺寸[XS,S,M,L,XL]

当我需要存储任何多值属性(如颜色或大小)的库存编号时,问题就出现了,我无法找到如何执行此操作的任何示例。它必须是灵活的,所以如果他们只想根据尺寸跟踪库存,那么他们可以,如果他们想要跟踪尺寸和颜色的库存,那么他们可以。如果他们不想跟踪库存,那应该没关系。

我能看到的唯一简单方法就是将所有内容保存在一个表中,就是使用像这样的分隔符将数量值附加到属性值,然后使用应用程序逻辑来处理它。

产品表

  • 尺寸[XS#1,S#0,M#0,L#1,XL#1]
  • 颜色[红色#1,绿色#1,蓝色#0,白色#0]

有没有其他方法可以做到这一点?或许还有另一张桌子,但这似乎进入了关系领域:

产品表

  • 颜色[4,6,7,9]

库存表

  • id [4]
  • 名称[红色]
  • 数量[1]

任何提示都会很棒。谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

为什么存储数字?

只需将产品插入产品表中即可。

每次需要从DynamoDB获取记录数时,请使用Count