我需要一些帮助来设计一个DynamoDB散列+范围键方案,用于快速的单项目写入访问以及对项目组的快速并行读取访问。在
背景:
当前,每个扇形链接存储为以下格式的项目:
{
user_id : NUMBER
fanned_id : NUMBER
timestamp: NUMBER
},
其中user_id是散列键,fanned_id是范围键。该方案允许快速访问单个fanship项(通过user_id+fanned_id),但是当从DynamoDB读取完整的fanship时,如果用户已经扇了数千个其他用户,则数据传输需要很长时间。在
下面是我如何使用botopython库查询DynamoDB:
^{pr2}$显然,吞吐量瓶颈在boto查询中,因为用户的整个粉丝必须以每秒25项的速度传输,即使我已经为DynamoDB指定了高吞吐量容量。在
我的问题是:
假设有很大的读吞吐量容量,并且所有数据都存在于DynamoDB中。我不介意求助于多处理,因为这是并行传输数据所必需的。什么样的散列+范围键方案可以让我快速传递用户的全部粉丝?
我认为您的哈希/范围键模式是您要实现的目标的正确模式。我已经在我的几个表上实现了类似的模式。在
根据docs,“查询性能取决于检索到的数据量”,似乎没有一种方法可以并行化读取。做一个parallel read is via a Scan的唯一方法,但我不确定这是否是一个更好的方法。在
相关问题 更多 >
编程相关推荐