例如,我使用dynamodb来存储产品购买记录。散列键是产品id,范围键是购买时间。
一些流行的产品可以有很多购买记录(空间倾斜),这样读/写请求就可以被限制为“热”分区,而其他分区没有使用全吞吐量。
如何解决这个问题,仍然能够获得最新的购买记录?谢谢!

最佳答案

您可以使用缓存解决方案来实现这一点。
在设计表以缓存流行项时,可以遵循以下准则:
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html#GuidelinesForTables.CachePopularItems
我的解决方案是使用elasticache(redis),您可以创建一个列表,表示每个产品的最后购买量,并为每个产品修剪最后100次购买量,例如:
LPUSH产品:100 2016-08-13:采购ID
LTRIM产品:100 0 99
会将列表修剪为最后100项。
我希望这能帮上忙…

关于amazon-web-services - 如何解决DynamoDB中的“热”哈希键问题(空间偏斜数据)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39503043/

10-12 00:43
查看更多