Amazon DynamoDB
开发人员指南 (API 版本 2012-08-10)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

备份和还原:如何工作

本节概述在备份和还原期间 Amazon DynamoDB 中发生的情况。

备份

在创建按需备份时,会对请求的时间标记进行编目。通过对上次完整表快照应用直到请求时所做的所有更改,来异步创建备份。备份请求将在瞬间完成处理,几分钟后即可用于还原。

注意

每次创建按需备份时都会备份整个表数据。可以创建的按需备份的数量不受限制。

DynamoDB 中的所有备份都不消耗表上任何预置的吞吐量。

DynamoDB 备份不能保证项目间的因果一致性,但备份中更新之间的偏差通常远远小于一秒。

除了数据,备份中还包括以下内容(不能排除):

  • 全局二级索引 (GSI)

  • 本地二级索引 (LSI)

  • 预置的读取和写入容量

还原的表项目与 LSI 投影一致,最终与 GSI 投影一致。

必须在还原的表上手动设置以下各项:

  • 自动扩展策略

  • AWS Identity and Access Management (IAM) 策略

  • Amazon CloudWatch 指标和警报

  • 标签

  • 流设置

  • 生存时间 (TTL) 设置

在备份期间无法执行以下操作:

  • 暂停或取消备份操作。

  • 删除备份的源表。

  • 禁用表的备份 (如果正在备份该表)。

注意

目前,备份和还原只能在与源表相同的 AWS 区域进行。

您可以通过使用 AWS Lambda 函数来安排定期或未来的备份。有关更多信息,请参阅用于计划 Amazon DynamoDB 按需备份的无服务器解决方案

如果您不想创建计划脚本和清理作业,可以使用 AWS 备份来为 DynamoDB 表创建包含计划和保留策略的备份计划。AWS 备份将执行这些备份并在其过期时将其删除。

如果使用控制台,则使用 AWS 备份的任何备份均将在 Backups (备份) 选项卡上列出且 Backup type (备份类型) 设置为 AWS

注意

无法从 DynamoDB 控制台中删除 AWS 备份。您可以使用 AWS 备份控制台管理这些备份。

要了解如何执行设备,请参阅 备份 DynamoDB 表

还原

表还原操作不消耗表上的任何预置吞吐量。根据请求备份时的记录,目标表被设置为与源表相同的预置读取容量单位和写入容量单位。还原过程还将还原本地二级索引和全局二级索引。

只能从一个备份将整个表数据还原到一个新表。只能在还原的表变为活动状态后,才能向其中写入内容。

注意

在还原操作中不能覆盖现有表。

还原表所需时间会基于多种因素而发生变化,还原时间并非一定与表大小直接相关。例如,由于并行处理的关系,还原一个 300GB 的表的用时可能与还原一个 3GB 的表的用时相同。以下是关于还原时间的一些考虑事项:

  • 将备份还原到新表。执行用于创建新表和启动还原流程的所有操作可能最多需要 20 分钟(即使表是空的)。

  • 对于数据在主键之间均匀分布的表,还原时间与最大单分区(按项目数)而不是整体表大小成正比。对于包含数十亿项目的最大分区,还原可能需要不超过 10 小时的时间。

  • 如果您的源表中包含的数据严重倾斜,则还原时间可能延长。例如,如果表的主键使用一年中的月份进行分区,而您的所有数据均来自 12 月,那么就出现了倾斜数据。

要了解如何执行还原,请参阅 从备份还原 DynamoDB 表

您可以将 IAM 策略用于访问控制。有关更多信息,请参阅将 IAM 用于 DynamoDB 备份和还原

所有备份和还原控制台及 API 操作都将被捕获并记录在 AWS CloudTrail 中以用于日志记录、持续监控和审核。

本页内容: