电子商务订单表建模 - DynamoDB + SNS + SQS

时间:2016-09-24 22:30:36

标签: amazon-dynamodb amazon-dynamodb-streams

我创建了一个DynamoDB表,用于存储来自电子商务前端的订单。当用户下订单时,它存储在DynamoDB表中。该表有一个主键(order_id)和两个全局二级索引:(电子邮件,SSN)。

我想按订单状态查询。 所以我想在特定日期检索特定状态的所有订单。哪种方法可以模拟这种行为?

使用排序键创建另一个全局二级索引?

1 个答案:

答案 0 :(得分:1)

是的,您需要添加另一个GSI。

然而,这将花费你的钱。您可以问自己的一个问题是,您真的需要实时/低延迟查找吗?

如果没有,那么您可以考虑将DynamoDB数据复制到Redshift等数据存储区并在其上运行查询。这样:

  • 根据您的应用,可能更具成本效益。
  • 将来允许您支持更多种类的查询模式。 (请记住,您在DynamoDB中只能拥有5个GSI,并且您已经使用过2个GSI)。