暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PolarDB分布式版本的回滚SQL与原始SQL

酷数据库 2023-08-16
293

为了支持不同的业务场景,PolarDB-X SQL闪回提供生成回滚SQL与生成原始SQL两种恢复方式,您在生成恢复SQL文件前,需要根据使用场景,选择对应的恢复方式。

下图给出了SQL闪回针对一条误操作,生成的回滚SQL与原始SQL示例。

回滚SQL

逆序遍历Binlog中的匹配事件,对INSERT、UPDATE、DELETE事件进行逆反操作,生成的SQL。

  • INSERT逆反等价于DELETE。
  • DELETE逆反等价于REPLACE。
  • UPDATE逆反等价于UPDATE SET value=变更前。

使用方式:在原表执行,对现有数据进行覆盖性恢复。

适用场景:当需要恢复的数据没有冲突或者接受部分冲突数据被覆盖,建议生成回滚SQL。

原始SQL

顺序遍历Binlog中的匹配事件,对INSERT、UPDATE、DELETE事件进行全记录的镜像构造处理,生成的SQL。

  • INSERT镜像等价于INSERT。
  • DELETE镜像等价于INSERT。
  • UPDATE镜像等价于INSERT变更前的值。

使用方式:在临时表执行,写入误操作前的原始数据,与现有数据进行对比,分析冲突后决定最终数据。

适用场景:当需要恢复的数据与当前数据存在冲突时,建议生成原始SQL。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论