关于DynamoDB全局表启用及按需备份恢复的技术问询
DynamoDB相关问题解答
问题1:创建DynamoDB按需备份需要多长时间?完成备份后,能否将数据恢复至原表中?
- 按需备份的耗时和表的大小直接相关,一般是分钟级完成,大表可能需要几小时,但DynamoDB会并行处理数据,不会拖太久。
- 备份完成后不能直接恢复到原表,只能恢复成一个新表。如果要让原表恢复备份数据,要么先删除原表,再恢复出同名的新表;要么把恢复后的新表数据迁移回原表。
问题2:已创建的DynamoDB未启用全局表选项,通过Terraform启用该选项要求表为空,请问表中有数据时如何启用该选项?
当表内有数据时,没法直接通过Terraform或控制台开启全局表,得按以下步骤操作:
- 在目标区域新建一个结构和原表完全一致的空表,并且开启全局表功能,配置好所有匹配的参数(主键、索引、容量模式等)。
- 把原表的数据迁移到这个新全局表里,可选的方式有AWS DataSync、DynamoDB导出导入工具,或者自己写脚本用
Scan+PutItem批量迁移(注意处理分页和并发写入的限流问题)。 - 验证数据完全同步后,把业务流量切换到新的全局表。
- 确认业务运行正常后,删除旧表。
如果能接受短暂业务中断,也可以先把原表数据导出到S3,删除原表后用Terraform创建带全局表选项的新表,再从S3导入数据。
内容的提问来源于stack exchange,提问作者Gomathi
相关产品推荐
相关产品推荐

