例如,我使用DynamoDB来存储产品购买记录。哈希键为产品ID ,范围键为购买时间。
某些热门产品可能会有大量购买记录(空间偏差),因此读取/写入请求可能会受到“热”分区的限制,而其他分区则没有使用完整吞吐量。
如何解决此问题并仍能获得最新的购买记录?谢谢!
答案 0 :(得分:0)
您可以使用缓存解决方案来实现此目的。
您可以在设计表格时遵循指南来缓存热门项目: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html#GuidelinesForTables.CachePopularItems
我的解决方案是使用elasticache(Redis),您可以创建一个列表,代表每个产品的最后一次购买,并修剪每个产品的最后100次购买,例如:
LPUSH产品:100 2016-08-13:purchaseId
LTRIM产品:100 0 99
将裁剪列表最后100个项目。
我希望这有帮助...