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



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

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

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

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

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

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

  • 可能更具成本效益,这取决于你的应用。
  • 将允许您在将来支持更广泛的查询模式。(请记住,你只能有5个gsi在DynamoDB,你已经使用了其中2个)

最新更新