知识卡片

转储范围与转储状态的两组独立权衡

普通读书笔记卡

内容

数据库转储也有两个相互独立的选择维度。按转储范围分:全转储每次都把 整个数据库完整复制一遍,占用时间和空间最多,但恢复时只需要这一份 备份,逻辑最简单;增量转储只转储上一次转储之后变化的数据,最节省 空间,但恢复时必须按顺序依次应用全量备份加上此后所有增量备份,任何 一环缺失或损坏都会导致恢复失败,恢复过程最复杂;差异转储转储的是 自上一次全转储以来的全部变化(不管中间转储过几次),空间占用介于两者 之间,但恢复时只需要”最近一次全量+最近一次差异”两份文件,恢复逻辑 比增量转储简单得多——三者的取舍本质是”转储时省资源”和”恢复时省 步骤”两个目标的反向权衡,增量最省转储资源但最费恢复步骤,全量正好 相反,差异取中间。按转储状态分:动态转储(热备)不影响数据库运行时的 读写、代价是转储和恢复的速度会受在线活动干扰;静态转储(冷备)要求 数据库停止服务才能进行,代价是服务中断,换来的是转储和恢复的速度更快; 温备介于两者之间,只锁表禁止写入、允许读取。这两个维度可以自由组合 (比如可以做在线的增量转储),不是绑定的单一方案。

参考来源

- 位置:《数据库原理(微课版)》第5章《数据库安全与保护》5.4.2节"数据库 转储"(源文件:_epub-src/index_split_003.html) - 结论依据:原文说明"增量转储……每次转储只会转储自上次转储之后产生 的数据,比差异转储节约空间,但是恢复数据比较复杂……差异转储……和 增量转储相比,差异转储浪费空间,但恢复数据比增量转储简单",以及 "动态转储不影响用户使用数据库,但转储的速度以及以后恢复的速度都会 受到影响;静态转储不允许用户使用数据库,但转储和恢复的速度相对快 一点",因此可以推出两组维度各自的取舍逻辑。 - 原始内容:增量转储……比差异转储节约空间,但是恢复数据比较复杂…… 差异转储……和增量转储相比,差异转储浪费空间,但恢复数据比增量转储 简单……动态转储不影响用户使用数据库,但转储的速度以及以后恢复的 速度都会受到影响;静态转储不允许用户使用数据库,但转储和恢复的速度 相对快一点。