文档

按Key闪回

更新时间:

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

说明

按Key闪回功能于2024年02月26日正式开启公测。公测期间不收费。公测期间暂不承诺SLA。

前提条件

  • 实例类型为分片集群实例。

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

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

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

注意事项

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

说明

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

功能说明

功能

功能子项

说明

任务配置

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

10分钟。

闪回数据保留时间

1~7天。

闪回备份数据可恢复时间

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

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

闪回备份操作

支持的闪回操作

  • 支持恢复UPDATE和DELETE操作。

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

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

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

支持的按行索引类型

  • 支持_id默认主键。

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

支持索引的数据类型

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

  • String

  • Double

  • ObjectId

  • Boolean

  • Date

  • 32-bit integer

  • 64-bit integer

  • Decimal128

索引字段

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

索引的长度和个数

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

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

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

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

无限制。

闪回备份恢复

单次闪回恢复的最大行数

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

预览闪回数据

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

库表名设置

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

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

费用说明

公测期间不收费。

开启闪回备份

  1. 登录MongoDB管理控制台

  2. 在左侧导航栏,单击分片集群实例列表

  3. 在页面左上角,选择实例所在的资源组和地域。

  4. 单击目标实例ID或目标实例所在行操作列的管理

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

  6. 单击按key闪回页签。

  7. 单击闪回备份设置

    说明

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

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

    参数

    说明

    备份保留时间

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

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

    选择需要备份的表

    选择需要备份的表。

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

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

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

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

发起闪回任务

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

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

    参数

    说明

    选择要恢复的表

    无需修改。

    创建临时表

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

    选择要恢复的时间点

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

    填写要恢复的key

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

      例如,索引为_id,需要恢复的值为key1和key2,那么您需要在输入框中输入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闪回页签,单击页面左上方的关闭闪回备份