分布式数据库的进度管理:TiDB 备份恢复工具 PiTR 的原理与实践

原文中文,约8100字,阅读约需20分钟。发表于:

如果某个 TiKV 的 Checkpoint 因为种种原因一直没有成功推进,就会阻塞住 Global Checkpoint 的推进,进而可能阻塞住 GC,无法正确清除已经完成备份的冗余数据。对于单个 Region,可以通过记录已备份数据的时间戳来实现进度管理:当数据被刷盘时,记录当前时间戳,这个时间戳就是该 Region 完成备份的最小时间节点,即...

PiTR是TiDB的备份功能,支持将数据库恢复到任意时间点,关键在于处理数据损坏或丢失。它通过TiKV层的备份流程实现,BackupStreamObserver监听Raft状态机,Endpoint负责与外部存储沟通。CheckpointAdvancer管理进度,计算Global Checkpoint,防止备份数据被GC清除。异常任务需管理员介入。PiTR提升了数据库的安全性和可恢复性。

相关推荐 去reddit讨论