【发布时间】:2023-03-30 20:38:01
【问题描述】:
我有一个 dynamodb 表,其分区键为 ID,排序键为 timestamp。我需要根据timestamp 列查询表以查找最新的 100 行。当我检查query API 时,我必须指定KeyConditions or KeyConditionExpression。在这种情况下,我不想查询分区键。我怎样才能做到这一点?
scan 操作似乎不支持对结果进行排序。
我能想到的一个解决方案是在表上添加一个属性,比如说status,并为该表中的每一行分配相同的值。然后在表上创建一个 GSI,分区键为status,timestamp 为排序键。然后我可以查询分区键等于OK 的表,并根据timestamp 对结果进行排序。但是,该解决方案在规模方面效果不佳。 GSI 将无法很好地缩放,因为表中的每一行都具有相同的 status 值。
那么,我的问题的最佳解决方案是什么?我不应该考虑使用 dynamodb 吗?
【问题讨论】:
标签: amazon-web-services amazon-dynamodb