0

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

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

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

ASP.NET C# 中的应用程序

谢谢

4

1 回答 1

1

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

  • 增加写操作限制
  • 以节流的方式运行删除查询,以便它仅使用旧限制和新设置的限制之间的偏移量
  • 操作完成后,将限制降低回来。

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

于 2013-11-15T12:02:47.547 回答