操作场景
云数据库 MongoDB 支持开启按 Key 闪回的功能,对指定的集合进行实时备份,便于后续因系统漏洞或故障而引起小部分数据错乱或意外丢失时,依据数据的闪回 Key(默认为 id)对这部分数据进行极速回档,快速恢复业务。
说明:
约束与限制
当前仅 5.0 版本支持按 Key 闪回功能。
支持对实例内多个集合开启按 Key 闪回功能,每个实例最多支持100个集合。
操作步骤
步骤1:登录备份与回档页签
1. 登录 MongoDB 控制台。
2. 在左侧导航栏 MongoDB 的下拉列表中,选择副本集实例或者分片实例。副本集实例与分片实例操作类似。
3. 在右侧实例列表页面上方,选择地域。
4. 在实例列表中,找到目标实例。
5. 单击目标实例 ID,进入实例详情页面。
6. 选择备份与回档页签,默认进入备份任务列表页面。
步骤2:开启按 Key 闪回功能
1. 选择按 Key 回档页签,并单击按 Key 闪回设置下面的
。

2. 在按 Key 回档设置配置向导的选择库表页签,选择一个或多个具体的库及表,如下图所示,单击下一步。
说明:
在右侧区域,可对已选择的库表进行确认并修改。
单击清空选择,在选择错误时,可清空已选择的库表。
单击
,可逐条删除已选择的库表。


3. 在按 Key 回档设置配置向导的指定 key 页签,给已选择的表指定额外闪回 Key,单击下一步。
说明:
默认按 Key 闪回存储按照 _id 和时间戳进行备份。
额外闪回 Key 指设置一个指定 Key 对闪回存储进行索引。在数据闪回时,可依据这个指定的 Key 快速检索所需恢复的集合来进行数据恢复。如果不指定额外闪回 Key,依据默认的"_id" key的值进行闪回。

4. 在按 Key 回档设置配置向导的设置回档策略页签,设置备份保留时长。
说明:
备份保留时长是指按 Key 闪回功能生成的备份文件可以被保留的时间长度。在云数据库 MongoDB 中,按 Key 闪回目前支持保留时间包括:12小时、1天、3天、7天。
当您开启按 Key 闪回功能后,系统会生成一个备份文件,并且该文件可以在指定的时间内被保留。例如,如果您选择了1天的保留时间,则系统会在生成备份文件后开始计时,并且在1天后自动删除该备份文件。

5. 单击确定,返回按 Key 闪回页签,可看到如下界面。按 Key 闪回设置已是开启状态。单击修改,可修改之前的配置。
说明:
备份保留时长,单击修改,可重新调整保留时长。
单击按 key 闪回支持库表后面的添加集合,可增加需闪回的集合。
在已选择的按 Key 闪回的库表中,单击其操作列的删除,可删除已选择的集合,重新添加集合。
对于已经选择的集合,不支持修改已指定的 Key。

步骤3:发起闪回任务
1. 在备份与回档页面,切换到备份任务列表页签。
2. 在备份任务列表中,找到需要恢复的备份文件。
3. 在其操作列,单击库表回档。


4. 在批量回档库表数据配置向导的选择归档实例页签,回档目标实例后面选择回档至当前实例或者回档到新实例,选择回档类型中选择按 Key 闪回。
说明:
回档到当前实例,无需购买新实例,恢复库表于当前实例,支持选择多个实例进行批量回档,可依据实际场景选择进行库表回档与按 Key 闪回。
回档到新实例,需要指定其他实例。您需要在操作之前预先准备一个新实例,对源实例无影响,不支持选择多个实例进行批量回档。可依据实际场景选择进行库表回档、按 Key 闪回或者克隆实例。
按 Key 闪回至当前实例
1. 单击下一步:选择回档库表,在选择回档库表页签,选择待回档源实例的库表。在搜索框,可根据库名称和表名称搜索待回档库表。并在右侧方框区域查看选中的库表信息。如下图所示。在右侧方框区域,对已选中的库表,可进行管理。
单击清空选择,在选择错误时,可清空已选择的库表。
单击
,可逐条删除已选择的库表。


2. 单击下一步:选择回档时间,在设置回档时间页签的设置回档时间的时间框中选择待回档的时间点,并确认预回档的实例信息及库表信息。
在指定 Key 的下拉列表中,选择闪回时所需过滤文档的 Key。如果开启闪回时未指定额外的闪回 Key,则默认使用
_id
过滤库表。在回档列表中,单击输入条件值,指定闪回文档的 Key 所对应的键值,或者单击上传文件,将键值存入 CSV 文件中上传。
说明:
输入条件值的格式与限制如下所示。单击示例,可参考给出的样例输入条件值。
输入内容仅需以文本形式输入闪回 Key 表示的值,系统会自动拼接成
{"key"."value"}
格式。数据类型需区分数值类型与字符串类型。字符串类型使用双引号包裹。例如:20、"hello"、"10"。若包含特殊符号,需进行转义。
输入条件值每行一条记录,最多输入100 行。超过100 行,单击上传文件,上传 CSV 文件录入。
CSV 格式的文件大小上限为20M。
一个集合的 CSV 文件的回档列表最大为 5万行,超过则报错。
若存在非法行,则在 CSV 文件上传之后展示非法记录,您需确认非法信息,仅回档合法记录。

3. 单击发起闪回,在实例闪回小窗口,确认实例信息。

4. 单击确定,进入批量回档库表数据任务页面,等待任务执行完成。

按 Key 闪回至指定实例
1. 单击下一步:选择回档库表,在选择回档库表页签,选择待回档源实例的库表。在搜索框,可根据库名称和表名称搜索待回档库表。并在右侧方框区域查看选中的库表信息,对已选中的库表,可进行管理。
单击清空选择,在选择错误时,可清空已选择的库表。
单击
,可逐条删除已选择的库表。

2. 单击下一步:选择回档时间,在设置回档时间页签的设置回档时间的时间框中选择待回档的时间点,并确认预回档的实例信息及库表信息。
在指定 Key 的下拉列表中,选择闪回时所过滤文档的 Key。如果开启闪回时未指定额外的闪回 Key,则默认使用
_id
。在回档列表中,单击输入条件值,指定闪回文档的 Key 所对应的键值,或者单击上传文件,将键值存入 CSV 文件中上传。
说明:
输入条件值的格式与限制如下所示。单击示例,可参考给出的样例输入条件值。
输入内容仅需以文本形式输入闪回 Key 表示的值,系统会自动拼接成
{"key"."value"}
格式。数据类型需区分数值类型与字符串类型。字符串类型使用双引号包裹。例如:20、"hello"、"10"。若包含特殊符号,需进行转义。
输入条件值每行一条记录,最多输入100行。超过100行,单击上传文件,上传 CSV 文件录入。
CSV 格式的文件大小上限为20M。
一个集合的 CSV 文件的回档列表最大为 5万行,超过则报错。
若存在非法行,则在 CSV 文件上传之后展示非法记录,您需确认非法信息,仅回档合法记录。
在闪回到指定实例的下拉列表,指定需要闪回的目标实例。
说明:
为避免和原集群版本不同引起一些其他问题,指定回档的目标实例建议与原集合保持同一版本。

3. 单击发起闪回,在实例闪回小窗口,确认实例信息。

4. 单击确定,进入批量回档任务页面,等待任务执行完成。


步骤4:批量更新源集合数据
1. 在批量回档库表数据任务页面,等待任务执行完成。

2. 在闪回任务的操作列,单击批量更新数据,在批量更新数据指引窗口中,可根据指引的操作步骤批量更新原始集合数据。具体更新示例,请参见 批量更新数据示例。
注意:
回档到当前实例,并不会直接回档原表,而是新建一个备份文件,例如,源库表为 test,会新建一个 test_bak 的库表。如下图所示中,回档表名称为新建的库表名称。
