如果在使用br恢复的过程中有数据写入,会对恢复结果造成影响吗?

镜像问题:如果在使用br备份的过程中有数据写入,会对备份结果造成影响吗? - #12,来自 TiDBer_QYr0vohO

比如某次br恢复耗时1个小时(假设为9:00 - 10:00),如果我在9:30时向某张表(假设为A表)insert了大量数据,那么是否会对最终的恢复结果造成影响呢?
这里假设一种极端情况:在对A表进行insert操作的同时,br也在对该表做恢复,那等恢复任务完成后,A表的数据会是怎样一种情况呢?会发生错乱吗?

如果在恢复过程中有新的数据写入,这些新写入的数据将会与备份数据冲突,可能导致数据不一致或丢失。

为了确保恢复的准确性和完整性,在进行恢复操作期间,请避免在集群中进行写入、删除或创建表等DDL和DML操作。这是因为备份数据可能包含对表进行重命名的 DDL 操作,如果在恢复过程中修改了集群数据,那么恢复操作将无法确定删除的表或已存在的表是由外部操作引起的,这会影响下一次恢复重试的准确性。

1 个赞

br 恢复需要目标集群为新集群且导入过程中没有任何变更。

一般这种情况是禁止出现的,如果正在恢复的时候,偷偷有个表数据在导入数据,那这个1.恢复直接报错中止。2继续恢复,但是这个表数据可能不完整,恢复完成之后他有一个checksum的,这个结果肯定会提示。
在恢复和导入这两个操作的时候,必须只能同时操作一个 ,避免意外,如果在恢复的时候发现有人再导入数据,正常操作应该是,全部停止,删除。重新恢复。

1 个赞

会影响,
最后数据会乱

MVCC保证备份数据时间的一致性

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。