DynamoDB - 哈希未知时查询

时间:2016-01-18 14:27:36

标签: amazon-dynamodb

我正在努力查询表,因为我不知道哈希键。任何关于改造我的桌子的建议都表示赞赏。我有以下属性,需要能够检索最新的"处理过的"记录" processed_at"的值是一个unix时间戳。我还需要能够更新属性"已处理"从0到1相应。每个令牌属性都是唯一的。

token    processed    processed_at    requested_at
u3280    1            14273587        14363965
i82gg    1            15769879        15873530
9823d    0            16838320        16967473

任何能够帮助初学者/厚脸的boffins?我见过类似的问题。

1 个答案:

答案 0 :(得分:0)

请在这里查看答案: How to choose a partition key in DynamoDB for a chat app

一些观点: 你必须设置'processed_at'作为您的范围键(为了获得最新处理) 现在,您需要设置一个哈希键。 在您的示例中,没有任何好的哈希键可以为您提供良好的表分区扩展。 (和已知的哈希键...)

所以在这种情况下,您可以创建一个全局二级索引(hash = partition,range = processed_at),其中您需要将分区设置为X的一些随机数(或圆形rubin)。(part_1,part_2,.. .part_X) 我建议将X设置为表分区的数量。

现在,要获取最新的'processed_at' (让我们假设最新的10),你需要从每个部分得到(10)项目,然后对结果做一些uniun以获得实际的最新(10)项目..