DynamoDB中快速访问和检索fanship数据的高效模式

2024-10-03 09:16:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一些帮助来设计一个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中。我不介意求助于多处理,因为这是并行传输数据所必需的。什么样的散列+范围键方案可以让我快速传递用户的全部粉丝?


Tags: 数据项目用户idnumber方案dynamodb粉丝
1条回答
网友
1楼 · 发布于 2024-10-03 09:16:56

我认为您的哈希/范围键模式是您要实现的目标的正确模式。我已经在我的几个表上实现了类似的模式。在

根据docs,“查询性能取决于检索到的数据量”,似乎没有一种方法可以并行化读取。做一个parallel read is via a Scan的唯一方法,但我不确定这是否是一个更好的方法。在

相关问题 更多 >