我正在努力查询表,因为我不知道哈希键。任何关于改造我的桌子的建议都表示赞赏。我有以下属性,需要能够检索最新的"处理过的"记录" processed_at"的值是一个unix时间戳。我还需要能够更新属性"已处理"从0到1相应。每个令牌属性都是唯一的。
token processed processed_at requested_at
u3280 1 14273587 14363965
i82gg 1 15769879 15873530
9823d 0 16838320 16967473
任何能够帮助初学者/厚脸的boffins?我见过类似的问题。
答案 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)项目..