改善Dynamo DB响应时间

时间:2018-04-10 18:51:05

标签: amazon-web-services amazon-dynamodb

我有以下Dynamo DB表结构:

  • item_type(string) - > 分区键
  • item_id(数字) - > 二级索引

该表有大约500万条记录,启用了自动缩放,默认读取容量为5.我需要在给定特定项目类型的情况下获取item_id。我们有大约500000个item_types,每个项目类型将与多个项目ID相关联。对于热门的item_types,我看到大约4秒的响应。我在AWS Lambda上测试它,我在进行查询时启动计时器,一旦得到响应就结束它。 Lambda和Dynamo DB都位于同一区域。

这是我正在使用的查询:

response = items_table.query(
    KeyConditionExpression=Key('item_type').eq(search_term),
    ProjectionExpression='item_id'
)

以下是一些观察结果:

  • 获取热门项目需要更多时间
  • 随着记录数量的增加,响应时间增加

我尝试过Dynamo数据库缓存,但是Python SDK并没有达到标准,而且它有一定的局限性。

以下是以下问题:

  • 为什么响应时间如此之高?是因为我在查询字符串而不是数字。
  • 增加读取容量也无济于事?
  • 对于此类查询,是否还有比Dynamo DB更快的其他aws服务。

我见过研讨会,他们声称在多个用户访问该表的情况下,数十亿条记录的响应时间达到亚毫秒级。任何指向实现亚秒响应时间的指针都会有所帮助。感谢。

0 个答案:

没有答案