正在查询范围内的DynamoDb时间戳数据



我想将我的数据从DynamoDb迁移到Redshift。我不想一次扫描整张表,因为这可能会导致节流。我的表格如下:

acountId(散列密钥(,lastUpdatedTime。

我想我可以在lastUpdatedTime上创建GSI,然后我可以查询,比如给我第1天到第5天之间的数据。第二天我可以再次给我第6天到第7天之间的数据。但即使有了GSI,我的理解是它会扫描整个表,因为我没有任何哈希键可以提供。我只需要查询一些时间戳范围。

创建GSI确实是正确的解决方案。但是,如果将GSI设置为投影所有属性,则GSI创建操作可能会有点慢/昂贵。我建议在lastUpdatedTime上创建GSI,并使用KEYS_ONLY只投影分区键(如果有,还可以投影顺序键(。然后,当您扫描时,您将只检索项目密钥并在迁移时查询该项目。

我建议在这里阅读GSI:https://docs.aws.amazon.com/fr_fr/amazondynamodb/latest/developerguide/GSI.html

最新更新