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

时间:2020-08-30 16:11:50

标签: amazon-dynamodb amazon-dynamodb-index

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

acountId(哈希键),lastUpdatedTime。

我以为可以在lastUpdatedTime上创建GSI,然后可以像查询第1天到第5天之间的数据那样进行查询。第二天,我可以在第六天到第七天之间给我数据。 但是即使有了GSI,我的理解仍然是它将扫描整个表,因为我将无法提供任何哈希键。我只是需要查询一些时间戳。

1 个答案:

答案 0 :(得分:0)

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

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