1

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

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

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

4

1 回答 1

2

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

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

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

  • 可能更具成本效益,具体取决于您的应用。
  • 将允许您在未来支持更广泛的查询模式。(请记住,您在 DynamoDB 中只能有 5 个 GSI,而您已经使用了其中的 2 个)
于 2016-09-25T03:34:09.543 回答