知识卡片
数据库备份体系:按不同场景需求组合多种备份策略,而非依赖单一方案
内容
数据库最核心的价值排序是数据安全性排在第一位——”在数据安全都保障不了的情况下谈其他的指标(如性能等),其实意义就不大了”,而备份的唯一目的就是数据恢复。备份方式本身存在多个可选维度:全量备份vs增量备份、热备vs冷备、物理备份vs逻辑备份、延时备份、全量binlog备份——这些维度不是互斥的选项,而是可以按不同业务场景的实际需求组合使用的工具箱。给出的建议组合是:默认采用热备+物理备份(xtrabackup热备是常见的实现方式,物理备份能完整、高效地保留整个实例的数据);对核心业务额外叠加延时备份+逻辑备份(延时备份留出一个”回看窗口”,即使误操作发生也能追溯到操作发生前的状态;逻辑备份则在单表恢复场景下特别有优势——如果只是想恢复一张几GB的表,而整体数据量有几TB,用物理备份去恢复效率会很低,逻辑备份反而更快更精准);同时始终保持全量binlog备份,为”某个具体时间点之后的增量变更”提供精确追溯的能力。这几种备份方式的组合逻辑是:物理备份+热备解决”整体、常规”场景下的高效恢复,逻辑备份解决”局部、精细”场景下的高效恢复,延时备份和binlog备份共同解决”需要追溯到误操作发生之前某个精确时间点”这类场景。这个案例给出了一条设计任何”容灾/恢复”体系的通用原则:不要指望用一种备份策略覆盖所有可能的恢复需求,不同的故障场景(整实例损坏、单表误删、需要追溯到某个精确历史时刻)对恢复速度、恢复粒度、恢复精确度的要求完全不同,应当针对这些不同场景组合搭配多种互补的备份手段,让每种手段负责它最擅长应对的那类场景,而不是用一种”看起来最全面”的单一方案硬扛所有情况。
参考来源
- 位置:《高可用架构(第1卷)》第5章《运维保障》"5.3 单表60亿记录等大数据场景的MySQL优化和运维之道"节,"5.3.3 数据库运维规范"及"5.3.5 疑问与解惑"(源文件:_epub-src/OEBPS/Text/Chapter5_3_4.xhtml、Chapter5_3_6.xhtml)
- 结论依据:原文说明"建议方式:热备+物理备份。核心业务:延时备份+逻辑备份。全量binlog备份",以及问答环节"逻辑备份一般用在单表恢复效果会非常好。比如你删了一个2GB表,但你总数据量2TB,用物理备份就会慢,此时逻辑备份就非常有用",共同支撑本卡片结论。
- 原始内容:建议方式:热备+物理备份。核心业务:延时备份+逻辑备份。全量binlog备份……逻辑备份一般用在单表恢复效果会非常好。比如你删了一个2GB表,但你总数据量2TB,用物理备份就会慢,此时逻辑备份就非常有用。