删除DynamoDB中的许多项而不影响活动用户

时间:2013-11-15 08:15:44

标签: amazon-web-services amazon-dynamodb

我知道DynamoDB绑定了我设置的写入和读取每秒限制。这意味着当我删除项目时,它们将被绑定到相同的限制。我希望能够在某个时间点删除许多记录,而不会对我的应用程序正在执行的其他操作产生负面影响。

因此,例如,如果我运行脚本删除10,000个项目并且需要1分钟,我不希望我的数据库停止为正在使用我的应用程序的其他用户提供服务。有没有办法将两者分开,一个用于后台进程(admin)并给它自己的限制,一个用于主进程(应用程序)?

注意:项目删除将按日期范围进行,我无法提前知道有多少项目。

ASP.NET C#中的应用程序

由于

1 个答案:

答案 0 :(得分:1)

限制是在DynamoDB表本身上设置的,而不是在客户端请求上设置的,所以答案是否定的。 一种解决方法是编写一个脚本:

  • 增加写操作限制
  • 以限制方式运行删除查询,以便它仅使用旧限制和新设置之间的偏移
  • 在操作完成后减少限制。

然后,您可以优化扩展写入/秒的数量,以平衡脚本完成所需的时间。