按Key闪回

云数据库 MongoDB 版实例支持了按Key闪回功能,您可以对指定的数据集合发起备份,便于后续因系统漏洞或故障而引起的小部分数据错乱或意外丢失时,根据数据的闪回Key (默认为_id)可对这部分数据进行回档,快速恢复数据。

说明

Key闪回功能于20240226日正式开启公测。公测期间不收费。公测期间暂不承诺SLA。

前提条件

  • 实例类型为副本集或分片集群。

  • 实例存储类型为云盘版。

  • 实例大版本为MongoDB 5.0及以上。

  • Key闪回功能目前处于公测阶段,如需使用,请提交工单联系技术支持申请开通。

注意事项

开启按Key闪回功能会对实例性能产生一定影响,例如实例的TPS性能最高可能下降3%。

说明

上述实例性能影响仅供参考,具体以实际数据为准。

功能说明

功能

功能子项

说明

任务配置

闪回任务配置完成后生效时间

10分钟。

闪回数据保留时间

1~7天。

闪回备份数据可恢复时间

开启闪回备份任务后到当前时间。

在闪回备份保留的有效期内,您可以根据指定的时间和行ID,进行按Key闪回。

闪回备份操作

支持的闪回操作

  • 支持恢复UPDATEDELETE操作。

  • 不支持恢复INSERT操作删除的数据。

  • 不支持DDL或其他操作导致的数据变更。

  • 如果数据没有变化,不支持闪回到当前状态。

支持的按行索引类型

  • 支持_id默认主键。

  • 支持用户自定义一般索引。

支持索引的数据类型

目前仅支持以下数据类型:

  • String

  • Double

  • ObjectId

  • Boolean

  • Date

  • 32-bit integer

  • 64-bit integer

  • Decimal128

索引字段

字段名称只能包括字母、数字或下划线(_),且只能以字母或下划线(_)开头

索引的长度和个数

单个索引字段长度为128,索引字段的数量限制是10个。

查询时支持的最大索引值大小

16KB,超过16KB的数据查询时可能会查不到。

查询结果里支持的单行数据大小

无限制。

闪回备份恢复

单次闪回恢复的最大行数

1000行,超过1000行会被截断。

预览闪回数据

恢复索引key预览的长度需小于48KB。

库表名设置

库名加表名长度需小于254。

例如,testtable表,展示为test.table,库名加表名的长度为10。

费用说明

公测期间不收费。

开启闪回备份

  1. 访问MongoDB副本集实例列表MongoDB分片集群实例列表,在上方选择资源组和地域,然后单击目标实例ID。

  2. 在目标实例页面的左侧导航栏,单击备份与恢复

  3. 单击key闪回页签。

  4. 单击闪回备份设置

    说明

    执行该操作后可能会提示权限不足,您需要输入账号及密码(该账号必须拥有待闪回库的读写权限)以继续操作。关于数据库账号及权限设置,请参见创建数据库账号并添加权限

  5. 闪回备份设置侧边框中,配置以下信息后,单击确定

    参数

    说明

    备份保留时间

    备份文件保留的天数,取值范围为1~7。

    例如,您设置了1天的保留时间,系统会在生成闪回备份文件后开始计时,并且在1天后自动删除该备份文件。

    选择需要备份的表

    选择需要备份的表。

    预览并设置需要备份的表中的索引

    输入需要备份的表中的索引,默认为_id,多个索引间用逗号(,)分隔。

    一般索引的数量最多支持设置10个。

  6. 闪回备份设置修改对话框中,单击确定

发起闪回任务

  1. 备份与恢复key闪回页签,单击目标备份任务右侧的操作列的按时间点闪回

  2. 单击备份任务列表侧边框中,配置以下信息后,单击确定

    参数

    说明

    选择要恢复的表

    无需修改。

    创建临时表

    用于存储闪回数据的临时表。

    选择要恢复的时间点

    选择需要闪回到的备份时间点。

    填写要恢复的key

    • 多个主键之间需要使用分号(;)分隔。

      例如,索引为_id,需要恢复的值为key1key2,那么您需要在输入框中输入key1;key2,下方的恢复索引key预览会显示[ { "_id": "key1" }, { "_id": "key2" } ]

    • 支持指定某一列进行查询,语法为column=value

      例如,输入框中输入key1;test1=v1,key2,下方的恢复索引key预览会显示[ { "_id": "key1" }, { "test1": "v1", "_id": "key2" } ]

    • 如果主键中存在逗号(,)或者分号(;),请使用转义字符(\)对其转义。

      例如,主键为a,b,name您需要在输入框中传入a\,b

    说明

    该参数如果传入的值过长,系统会自动拆分为多个闪回任务,该情况不会对闪回备份产生影响。

  3. 闪回数据预览对话框中,选中需要闪回的数据,单击确定

发起闪回任务后,闪回的数据会存储在临时表中,在临时表的有效期内(即开启闪回备份功能时设置的备份保留时间),您可以将临时表中的数据恢复至原表中。

恢复至原表

  1. 备份与恢复key闪回页签,单击目标备份任务左侧的+

  2. 单击恢复至原表

  3. 恢复至原表对话框中,单击确定

    说明
    • 执行该操作将会把临时表中的数据恢复到原表中,原表中的数据会被覆盖。

    • 覆盖操作约耗时1~2分钟,期间请不要额外写入相同的Key,否则恢复后的数据可能不符合预期。

你可以单击闪回历史记录,查看所有的闪回备份任务,并选择需要闪回的数据恢复至原表;也可以在恢复任务历史记录中,查看所有的闪回恢复任务。

关闭闪回备份

关闭指定备份任务

备份与恢复key闪回页签,单击目标备份任务右侧的操作列的关闭

关闭所有备份任务

备份与恢复key闪回页签,单击页面左上方的关闭闪回备份