DynamoDB架构设计 - 订单模型

时间:2016-08-08 14:48:27

标签: amazon-dynamodb key-value-store nosql

我正在建模一个简单的应用程序,我想将DynamoDB用作我的存储。我需要存储来自电子商务网站的所有订单。可以使用order_id和用户电子邮件进行查询。

查看dynamodb文档,我认为最好的方法是使用order_id(我的大多数查询将在此索引上进行)作为我的主键(分区键)。

那么电子邮件呢?我想要一个二级索引,但我有点迷失。 什么是最好的方法?

1 个答案:

答案 0 :(得分:0)

email属性上的全局二级索引似乎可以解决问题:

  • 当您需要按order_id查找时,使用GetItem操作并指定order_id作为主键

  • 当您需要按email查找时,您使用GSI上的Query API并指定email作为分区键。

GSI具有独立的读取容量单位 - 因为您说您将在大多数时间使用order_id,您可以为主表提供比GSI更多的RCU。

参考: