关系数据库到单个Dynamo数据库表

时间:2020-02-29 00:18:41

标签: amazon-web-services model amazon-dynamodb

我从AWS阅读了许多文档,并看到了Re-Invent视频。它谈到任何关系表都可以存储在单个Dynamo DB中(少数情况除外) 我在Relational DB中获得了以下架构,该架构要在单个Dynamo DB中进行转换,但是却摸不着头脑,应该是什么样子。 我的用例是:

  • 按产品/商品号获取所有属性
  • 获取特定属性 产品/商品编号
  • 通过属性获取所有项目/产品 名称和属性值(例如,给我所有尺寸为 45)
  • 按属性名称获取属性信息(例如,获取我 颜色属性的详细信息)

enter image description here

1 个答案:

答案 0 :(得分:1)

您的用例更适合关系数据库而不是NoSQL数据库

NoSQL数据库非常适合基于主键存储和检索数据。例如,“商店记录#12”或“检索记录#12”。存储的项目为JSON格式,可以包含很多信息。 DynamoDB还可以为此类请求提供可预测的性能,从而使其成为对速度有严格要求的应用程序的理想选择(例如,在流行的Web应用程序中检索用户配置文件)。

但是,如果您希望搜索“获取大小为45的所有项目”之类的数据,NoSQL并不理想。您可以通过添加其他索引来实现其中的一些功能,但是它可能变得复杂且不如关系数据库灵活。

是的,您可以将关系表“存储”在NoSQL数据库中,但是不能以所需的方式访问它们。

您的示例和图表将更适合于关系数据库。我会推荐用于MySQL或PostgreSQL的Amazon RDS