当您将计费模式从 PROVISIONED 更改为 PAY_PER_REQUEST 时,现有 DynamoDB table 中的数据会发生什么变化?

What happens to the data in an existing DynamoDB table when you change the billing mode from PROVISIONED to PAY_PER_REQUEST?

这个问题是为了确定我的理解是否正确。

我们在现有的生产 DynamoDB table 中有数百万条记录。现在,计费模式设置为 PROVISIONED,并启用了自动缩放。我打算将计费模式更改为 PAY_PER_REQUEST。

我对云形成模板进行了更改,在较低级别的环境中对其进行了测试,性能结果非常好。我计划将此更改推广到生产环境。只是想检查切换何时完成,我是否有可能丢失数据?我相信答案是否定的,将计费模式从预配置更改为 pay_per_request 后我不会丢失数据,因为我在 AWS 文档中看到以下内容 -> https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand

“Table 切换时的行为 Read/Write 容量模式

当您将 table 从预置容量模式切换到按需容量模式时,DynamoDB 会对您的 table 和分区的结构进行多项更改。此过程可能需要几分钟时间。在切换期间,您的 table 交付的吞吐量与之前配置的写入容量单位和读取容量单位数量一致。当从按需容量模式切换回预配置容量模式时,您的 table 提供的吞吐量与 table 设置为按需容量模式时达到的先前峰值一致。”

有没有做过的人告诉我我的理解对不对?如果切换计费模式有一些不利影响(比如恢复我的 table,因为我们启用了时间点恢复),我要小心。

更改计费模式时不应丢失任何数据。

如果您想采取额外的预防措施,可以对表格执行 backup 以防出现任何问题。

请注意,您能够根据documentation

每 24 小时切换一次计费模式

You can switch between read/write capacity modes once every 24 hours