差异备份、增量备份、完全备份的区别

本文介绍了主流的备份技术,包括数据备份、磁轨备份等,并详细解析了完全备份、增量备份及差异备份的不同模式及其优缺点。

1、当前主流的备份技术

    数据备份:

    即针对数据进行的备份,直接复制所要存储的数据,或者将数据转换为镜像保存在计算机中。诸如Ghost等备份软件,光盘刻录和移动盘存储均属此类。

    其采用的模式相对容易理解,分为逐档与镜像两种。一是直接对文件进行复制,另一是把文件压成镜像存放。

    优点是方便易用,也是广大用户最为常用的。缺点是安全性较低,容易出错,其针对数据进行备份,如果文件本身出现错误就将无法恢复,那备份的作用就无从谈起。因此这种数据备份适用于常规数据备份或重要数据的初级备份。

    磁轨备份(物理备份):

    这种备份技术的原理是直接对磁盘的磁轨进行扫描,并记录下磁轨的变化,所以这种数据备份技术也被称为物理级的数据备份。

    优点是非常精确,因为是直接记录磁轨的变化,所以出错率几乎为0,数据恢复也变得异常容易、可靠。这种数据技术通常应用在中高端的专业存储设备,部分中高端NAS(网络附加存储)如自由遁等专业存储设备就是采用此备份技术,这种数据备份技术在国外企业数据备份应用非常广泛。
磁轨备份采用的模式在国内并不统一,下面就简单介绍一下各种备份模式:

    如果您问一个对计算机备份程序不熟悉的人,他可能会告诉您,备份不过是把计算机上的「所有」数据,拷贝一份而已。换句话说,如果您在星期二晚上做备份,星期三没有更动计算机上的任何数据,那么星期三晚上做的备份,与前一天晚上做的,是完全一样的,这是备份的方式之一,但您实在没有必要这样做,要了解备份,我们得先知道备份的种类。

    2、数据备份的主要方式:

    完全备份

    完全备份(full backup)」,每个档案都会被写进备份档去。如上所述,如果两个时间点备份之间,数据没有任何更动,那么所有备份数据都是一样的。

    这问题出自备份系统不会检查自上次备份后,档案有没有被更动过;它只是机械性地将每个档案读出、写入,不管档案有没有被修改过。备份全部选中的文件及文件夹,并不依赖文件的存盘属性来确定备份哪些文件。

    (在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存盘属性)。

    这是我们不会一味采取完全备份的原因 — 每个档案都会被写到备份装置上。这表示即使所有档案都没有变动,还是会占据许多存储空间。如果每天变动的档案只有 10 MB,每晚却要花费 100 GB 的存储空间做备份,这绝对不是个好方法;这也就是推出「增量备份(incremental backups) 的主要原因。

    增量备份

    跟完全备份不同,增量备份在做数据备份前会先判断,档案的最后修改时间是否比上次备份的时间来得晚。如果不是的话,那表示自上次备份后,这档案并没有被更动过,所以这次不需要备份。换句话说,如果修改日期「的确」比上次更动的日期来得晚,那么档案就被更动过,需要备份。
增量备份常常跟完全备份合用(例如每个星期做完全备份,每天做增量备份)差异备份是针对完全备份:备份上一次的完全备份后发生变化的所有文件。

    (差异备份过程中,只备份有标记的那些选中的文件和文件夹。它不清除标记,既:备份后不标记为已备份文件,换言之,不清除存盘属性)。

    使用增量备份最大的好处在于备份速度:它的速度比完整备份快上许多,同时由于增量备份在做备份前会自动判断备份时间点及文件是否已作改动,所以相对于完全备份其对于节省存储空间也大有益处。增量备份的不足之处在于数据还原的时间较长,效率相对较低,例如,如果您要还原一个备份档案,您必须把所有增量备份的磁盘都找一遍,直到找到为止,如果您要复原整个档案系统,那就得先复原最近一次的完整备份,然后复原一个又一个的增量备份。

    要避免复原一个又一个的递增数据,提升数据的复原的效率,把做法稍微改变一下,就变成了「差异备份(differential backup)」。



    差异备份

    差异备份与增量备份一样,都只备份更动过的数据。但前者的备份是「累积(cumulative)」的—— 一个档案只要自上次完整备份后,曾被更新过,那么接下来每次做差异备份时,这个档案都会被备份(当然,直到下一次完整备份为止)。

    这表示差异备份中的档案,都是自上次完全备份之后,曾被改变的档案。如果要复原整个系统,那么您只要先复原完全备份,再复原最后一次的差异备份即可。增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文件。

    (增量备份过程中,只备份有标记的选中的文件和文件夹,它清除标记,既:备份后标记文件,换言之,清除存盘属性。)

    跟增量备份所使用的策略一样,您平时只要定期做一次完全备份,再定时做差异备份即可。

    所以,差异备份的大小,会随着时间过去而不断增加(假设在完全备份间,每天修改的档案都不一样)。以备份空间与速度来说,差异备份介于递增备份与完全备份之间;但不管是复原一个档案或是整个系统,速度通常比完全备份、增量备份快(因为要搜寻 / 复原的磁盘数目比较少)。

    基于这些特点,差异备份是值得考虑的方案,增量备份与差异备份技术在部分中高端的网络附加存储设备如IBM、HP、及自由遁等品牌的部分产品的附带软件中已内置。

    3、不同备份类型组合应用的示例

    (1)、完全备份与差异备份

    以每周数据备份计划为例,我们可以在星期一进行完全备份,在星期二至星期五进行差异备份。如果在星期五数据被破坏了,则你只需要还原星期一完全的备份和星期四的差异备份。这种策略备份数据需要较多的时间,但还原数据使用较少的时间。

    (2)、完全备份与增量备份
还是以每周数据备份为例,在星期一进行完全备份,在星期二至星期五进行增量备份。如果在星期五数据被破坏了,则你需要还原星期一正常的备份和从星期二至星期五的所有增量备份。这种策略备份数据需要较多的时间,但还原数据使用较少的时间。

转载于:https://www.cnblogs.com/vibratea/archive/2010/09/16/1827763.html

<think>我们正在讨论备份策略:完全备份、累计增量备份差异增量备份。根据引用内容,我们可以总结如下: 1. **完全备份**:备份所有数据。 2. **累计增量备份**:在完全备份之后,每次备份自上次完全备份以来所有变化的数据。 3. **差异增量备份**:每次备份自上一次备份(无论完全备份还是增量备份)以来变化的数据。 但注意引用[3]中提到的Oracle增量备份的两种类型: - **差异增量备份**:备份自上一次同级别的备份或更高级别备份以来变化的数据块。 - **累积增量备份**:备份自上一次上一级备份以来变化的数据块。 这里我们结合引用内容进行详细解释。 ### 一、三种备份原理 #### 1. 完全备份 (Full Backup) - **原理**:备份选定的所有数据,无论之前是否备份过。 - **特点**:备份数据量大,占用存储空间多,备份时间长,但恢复时只需一份最新备份即可。 #### 2. 累计增量备份 (Cumulative Incremental Backup) - **原理**:基于最近一次完全备份备份自该完全备份以来所有变化的数据。 - **特点**:每次备份的数据量会随着时间增加而增加(因为包含自完全备份以来的所有变更),但恢复时只需要完全备份和最近一次累计增量备份。 #### 3. 差异增量备份 (Differential Incremental Backup) - **原理**:备份自上一次备份(可以是完全备份增量备份)以来变化的数据。 - **特点**:每次备份的数据量相对较小(只包含上次备份后的变更),但恢复时需要完全备份和所有后续的增量备份。 ### 二、区别对比 | **备份类型** | **备份内容** | **恢复所需备份集** | **备份空间** | **恢复时间** | |--------------------|------------------------------------------------|--------------------------------|------------|------------| | **完全备份** | 所有数据 | 最新完全备份 | 大 | 短 | | **累计增量备份** | 自最近一次完全备份以来的所有变化数据 | 最近完全备份 + 最近一次累计增量备份 | 中 | 中 | | **差异增量备份** | 自上一次备份完全增量)以来的变化数据 | 完全备份 + 所有后续增量备份 | 小(单次) | 长 | ### 三、工作流程示例 假设我们有一个备份计划:周日完全备份,周一至周六每天备份一次。 - **场景数据变化**: - 周日:数据块 A, B, C - 周一:修改 A -> A1 - 周二:修改 B -> B1 - 周三:修改 C -> C1 #### 1. 使用累计增量备份 - 周日:完全备份 (A, B, C) - 周一:备份自周日以来的变化 -> A1 - 周二:备份自周日以来的变化(包括A1和B1)-> A1, B1 - 周三:备份自周日以来的变化(包括A1, B1, C1)-> A1, B1, C1 **恢复周三数据**:只需周日的完全备份和周二的累计增量备份(因为周三的备份包含了自周日以来所有变化,但注意周三的备份已经包含所有变化,所以恢复时只需要完全备份和周三的累计增量备份)。 #### 2. 使用差异增量备份 - 周日:完全备份 (A, B, C) - 周一:备份自周日以来的变化 -> A1 - 周二:备份自周一以来的变化 -> B1 - 周三:备份自周二以来的变化 -> C1 **恢复周三数据**:需要周日的完全备份、周一的增量备份(A1)、周二的增量备份(B1)和周三的增量备份(C1)。 ### 四、优缺点分析 - **完全备份**: - 优点:恢复简单快速。 - 缺点:备份数据量大,占用存储空间多,备份时间长。 - **累计增量备份**: - 优点:恢复相对简单(只需两个备份集),备份数据量比完全备份小。 - 缺点:随着时间推移,每次备份的数据量会越来越大(因为包含自完全备份以来的所有变化)。 - **差异增量备份**: - 优点:每次备份的数据量小,备份速度快,占用存储空间少(单次备份)。 - 缺点:恢复时需要所有备份集(完全备份+所有增量备份),恢复时间长且复杂。 ### 五、选型建议 - **恢复时间要求高**:选择完全备份或累计增量备份。 - **存储空间有限**:选择差异增量备份。 - **备份频率高**:差异增量备份更合适(因为每次备份量小)。 - **长期保留**:定期做完全备份,中间用增量备份。 ### 六、与引用内容的关联 - 引用[1]描述了累计增量备份:每次备份完全备份差异。 - 引用[2]提到差异备份(即累计增量备份)在恢复时只需完全备份和最后一次差异备份,但数据量会逐渐增大。 - 引用[3]区分了差异增量备份和累积增量备份(在Oracle中): - 差异增量备份备份自上一次同级或更高级备份以来的变化。 - 累积增量备份备份自上一次上一级备份以来的变化。 注意:在Oracle中,备份有级别(0级为完全备份,1级为增量备份)。例如: - 差异增量备份(级别1):备份自上一次1级或0级备份以来的变化。 - 累积增量备份(级别1):备份自上一次0级备份以来的变化。 ### 七、总结图示 ```plaintext 时间轴:周日 周一 周二 周三 完全备份:A,B,C 累计增量: 周一:A1(自周日以来变化) 周二:A1,B1(自周日以来变化) 周三:A1,B1,C1(自周日以来变化) 差异增量: 周一:A1(自周日以来变化) 周二:B1(自周一以来变化) 周三:C1(自周二以来变化) ``` §§相关问题§§ 1. 如何选择适合企业环境的备份策略? 2. 增量备份在数据库备份中的具体实现方式有哪些? 3. 备份策略中如何平衡存储成本和恢复时间目标(RTO)?</think>### 完全备份、累计增量备份差异增量备份原理及区别详解 --- #### **一、核心原理对比** | **备份类型** | **原理** | **备份内容** | **恢复流程** | |--------------------|--------------------------------------------------------------------------|---------------------------------------|----------------------------------| | **完全备份** | 完整复制数据集的所有数据 | 100% 数据 | 直接使用单份备份恢复 | | **累计增量备份** | 基于**最近一次完全备份**,备份所有新变化的数据 | 自完全备份后的**全部增量数据** | 完全备份 + 最新累计增量备份 | | **差异增量备份** | 基于**上一次任意备份**,仅备份上次备份后的新变化数据 | 自**上次备份后**的变化数据 | 完全备份 + 所有增量备份链 | > 💡 **关键区别**: > - 累计增量始终以完全备份为基准 > - 差异增量以最近一次备份完全/增量)为基准[^1][^3] --- #### **二、工作流程示例** 假设周日完全备份,每天数据变化: - 周一:新增文件A - 周二:修改文件B - 周三:删除文件C ##### **1. 完全备份** ```mermaid graph LR 周日[周日完全备份] --> |备份完整数据| Full[数据镜像] ``` ##### **2. 累计增量备份** ```mermaid graph LR 周日[周日完全备份] --> 周一 周一[周一累计增量] --> |备份A| A[文件A] 周日 --> 周二 周二[周二累计增量] --> |备份A+B| AB[A+B] 周日 --> 周三 周三[周三累计增量] --> |备份A+B| AB2[A+B] // 删除操作不备份新数据 ``` > **特点**:每次备份都包含自完全备份后的所有变更[^1] ##### **3. 差异增量备份** ```mermaid graph LR 周日[周日完全备份] --> 周一 周一[周一差异增量] --> |备份A| A[文件A] 周一 --> 周二 周二[周二差异增量] --> |仅备份B| B[文件B] 周二 --> 周三 周三[周三差异增量] --> |记录C删除| C[元数据变更] ``` > **特点**:每次只备份上次备份后的增量[^3] --- #### **三、核心差异分析** | **维度** | **完全备份** | **累计增量备份** | **差异增量备份** | |------------------|-------------------|-------------------------|-------------------------| | **备份空间** | 最大(每次全量) | 中等(增量累积增长) | 最小(单次增量最小) | | **备份速度** | 最慢 | 中等 | 最快 | | **恢复复杂度** | 最简单(单文件) | 中等(需2个文件) | 最复杂(需完整备份链) | | **典型应用** | 初始备份/月度备份 | 周级备份 | 日常备份 | | **数据冗余** | 高冗余 | 中等冗余 | 低冗余 | > 📊 **空间增长示例**(假设每日变化5%): > - **完全备份**:每天占用100%空间 > - **累计增量**:第7天占用 $100\% + 5\%×7 = 135\%$ > - **差异增量**:第7天占用 $100\% + 5\% = 105\%$(单次增量)[^2] --- #### **四、恢复流程对比** 1. **完全备份恢复** ```bash restore(full_backup) # 直接恢复完整数据 ``` 2. **累计增量恢复** ```bash restore(full_backup) → restore(latest_cumulative) # 两步完成 ``` 3. **差异增量恢复** ```bash restore(full_backup) → restore(inc1) → restore(inc2) → ... → restore(incN) # 链式恢复 ``` > ⚠️ **差异增量风险**:任一增量备份损坏将导致整个备份链失效[^2] --- #### **五、选型建议** | **场景** | **推荐策略** | **原因** | |---------------------------|-------------------|--------------------------------------| | 系统初始备份 | 完全备份 | 建立完整基准点 | | 频繁日常备份(如数据库) | 差异增量备份 | 备份速度快,存储压力小 | | 中长期备份(1-2周) | 累计增量备份 | 恢复时操作简单,避免链式依赖 | | 关键系统容灾 | 完全+差异增量组合 | 平衡恢复速度与存储成本 | > 💎 **最佳实践**:采用 **完全备份(周) + 差异增量(日)** 组合策略[^2] --- #### **六、技术演进与优化** 1. **合成完全备份**: 定期将**完全备份+增量备份**合并为新完全备份,减少恢复链长度 $$ \text{NewFull} = \text{OldFull} \cup \sum_{i=1}^{n} \text{Inc}_i $$ 2. **永久增量备份**: 始终基于初始完全备份,后续只做增量,通过元数据索引快速恢复 3. **云存储优化**: 利用对象存储的版本控制功能实现零成本增量备份(如AWS S3 Versioning) ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值