背景

今天我司服务器工程大牛看我在备份数据,冷不丁提到了差异备份;但是才疏学浅的我却不知何为差异备份,故而以此为引,开始了对全量备份,增量备份,差异备份这三者的研习;经过一番寻觅,最终找到了他们.呵呵 希望大家有所受益!

问题

1. 什么是全量备份?

2. 什么是增量备份?

3. 什么是差异备份?

纪要

全量备份

概念:全量备份是指备份指定目标下的所有有效数据;
        全量备份可以对: 系统分区,数据分区,整块磁盘分区,文件或者文件夹进行备份;一般在系统安装好后会进行一次备份;

增量备份

概念:增量备份是指在上一次备份的基础上,备份新增或改变的文件;
        优点: 备份速度快.
        缺点: 数据恢复慢.并且由于增量备份的数据之间存在依赖性,因此如果删除或丢失了最近一次全量备份到现在增量备份期间任意一份增量备份,后面的增量备份数据将会无效;

增量备份的原理

假设磁盘中有a.txt,b.txt两个文件,我们对它进行一次的全量备份,然后添加两个文件c.txt,d.txt进入;
        此时进行第二次的备份: 增量备份. 备份后得到的文件为c.txt, d.txt; 如下图:

假如我们在第一次全量备份后,在添加c.txt, d.txt两个文件的同时修改了b.txt,此时再次增量备份,被备份的文件则应该是b.txt, c.txt, d.txt.
        这里可以如下理解,每个文件都有一个记录是否被当前备份操作所备份的属性,倘若就视其为0或1; 0为未备份, 1为已备份. 在我们备份前所有的文件该属性都为0未备份的状态.
当第一次全量备份后,此时的所有选中备份的文件的该属性值则为1已备份.当再次选中文件或文件内的子文件时,如果有被修改或在其内有新增时(这里不计文件和文件夹...的区别),该属性则会恢复为0未备份的状态,此后如果二次执行增量备份操作时,则只会备份该备份属性为0未备份状态的数据文件. 因此,基于这种机制,增量备份的数据备份速度以及文件是相对较快且少的.
        但是一旦需要数据恢复时,所消耗的时间就会相对较长.并且增量备份存在一个不可忽视的问题,由于相邻的两次增量备份存在数据的依赖,一旦需要恢复,所恢复节点之前一直到距离最近一次的全量备份的备份数据必须全部都在,但凡丢失一个节点,对于这次的数据恢复将会是失败的结果,仅仅只能恢复到丢失节点之前的时间线,不能回滚到所需要恢复的指定节点.

举个例子: 周一做了一次全量备份,周二到周五分别每天都做了增量备份,周六的时候发现数据发生了雪崩导致异常,要恢复到周五晚的数据.此时运维人员去做数据恢复时发现,周三的增量
备份数据被当天离职的张三给删除了,那此时的数据只能恢复到周三.这也意味着此次的数据恢复将失败,不能恢复到周五晚.因为增量的数据恢复是要从全量备份的数据做起始恢复,然后依次恢复周二,周三...一直到周五,才能够成功恢复周五的数据,当发现周三的增量备份数据丢失时,那周四的增量备份数据就出现了断层.因此这次的数据无法恢复到周五的节点.

差异备份

下面说差异备份,差异备份 类似于增量备份;区别于:差异备份是基于上一次的全量备份基础上进行的增量备份;
        特点: 
                1. 备份速度相对于增量备份慢
                2. 恢复速度快.
    原理: 每次的备份都是基于最近一次的全量备份进行的增量备份.
    举个列子: 还是周一全量备份,周二到周五每天进行差异备份,又到了周六发现数据异常需要恢复数据到周五晚节点的时候,此时我只需要拿到周一的全量备份数据和周五的差异备份时的数据.
    我不需要考虑张三因为离职删除了具体的周二到周四的哪天的数据,只要起始的全量备份和需要备份节点的差异备份数据给我留着,其他的中间节点,对我来说意义不大.最后运维小哥成功交付了这个问题.
    从这里可以看出, 差异备份虽然放弃了快速备份的优势,但是对于数据恢复来讲,要比增量备份有未来,不会因为张三的小人之心而受到严重的影响.

什么是全量备份,增量备份,差异备份?相关推荐

  1. 看完,你就理解什么是数据的全量、增量、差异备份了

    在很远很远的地方,有一个帐房先生. 他每天要记很多很多的账单. 老先生一生谨慎,为了保证账本的安全, 便找来三个徒弟帮忙来对账本做备份, 这样即使账本丢失了, 也可以用备份的账本继续使用. 三个徒弟各 ...

  2. python 读取文件夹 增量文件_Python实现目录文件的全量和增量备份

    目标: 1.传入3个参数:源文件路径,目标文件路径,md5文件 2.每周一实现全量备份,其余时间增量备份 1.通过传入的路径,获取该路径下面的所有目录和文件(递归) 方法一:使用os.listdir ...

  3. MySQL数据库全量、增量备份与恢复

    MySQL数据库全量.增量备份与恢复 数据库备份的重要性 在生产的环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果. 造成数据丢失的原因 程序错误 人为商店 计算机失败 磁盘失败 ...

  4. Python实现目录文件的全量和增量备份

    目标: 1.传入3个参数:源文件路径,目标文件路径,md5文件 2.每周一实现全量备份,其余时间增量备份 1.通过传入的路径,获取该路径下面的所有目录和文件(递归) 方法一:使用os.listdir ...

  5. Linux随笔19-MySQL主从复制、Percona XtraBackup实现全量和增量备份、ProxySQL实现读写分离

    Contents 1. MySQL5.7实现主从复制 1.1 基础环境 1.2. 配置主从复制 1.2.1. master节点上的配置 1.2.2. slave节点上的配置 1.2.3. 中继日志问题 ...

  6. MySQL数据以全量和增量方式,向ES搜索引擎同步流程

    本文源码:GitHub·点这里 || GitEE·点这里 一.配置详解 场景描述:MySQL数据表以全量和增量的方式向ElasticSearch搜索引擎同步. 1.下载内容 elasticsearch ...

  7. 【SQL Server备份恢复】维护计划实现备份:每周数据库完整备份、每天差异备份、每小时日志备份...

    在数据库管理中,数据库备份是非常重要的. 通过维护计划向导,可以很方便的完成数据库备份. 下面的例子说明了如何实现数据库的备份,具体的备份策略是:每周日一次完整备份.每天差异备份(除周日外).每小时日 ...

  8. Sqoop导出模式——全量、增量insert、更新update的介绍以及脚本示例

    背景信息 SQOOP支持直接从Hive表到RDBMS表的导出操作,也支持HDFS到RDBMS表的操作, 当前需求是从Hive中导出数据到RDBMS,有如下两种方案: Ø  从Hive表到RDBMS表的 ...

  9. mongodb数据同步到elasticsearch的中间件,支持全量,增量,实时同步等多种同步情景。(syncs MongoDB to Elasticsearch in realtime) (Mong

    GitHub - levonmo/mongo-sync-elasticsearch: mongodb数据同步到elasticsearch的中间件,支持全量,增量(新增修改删除),实时同步等多种同步情景 ...

  10. 关于全量与增量 的思考

    一.数据同步:全量与增量 1.背景 数据如果保留多份,就会存在一致性问题,就需要同步,同步分为两大类:全量和增量 2. 概述 数据如果要保留副本,要么同时写(就是多写),或者进行复制:异步写(即从主数 ...

最新文章

  1. ORU-10027: buffer overflow, limit of 10000 bytes
  2. ‘shared_ptr‘ is not a member of ‘std’
  3. taro 引入js_Taro跨端开发之多业务模块管理 React Native篇(终篇)
  4. 循环节长度 java,第六届蓝桥杯java试题-循环节长度
  5. 用C#实现C/S模式下软件自动在线升级[转载]
  6. Hashtable与Dictionary
  7. Linux┊详解udev
  8. 解决链接模型的可见性问题
  9. [C#.NET 拾遗补漏]06:单例模式最佳实践
  10. activexobject mysql_ActiveXObject函数详解(转)
  11. sleep与wait的区别? 以及wait(long timeout)中timeout的含义
  12. 【Django 2021年最新版教程25】模板语言 前端for循环怎么用 实例
  13. 中兴设备交换机路由器清除清理指定接口计数的统计信息命令
  14. 无线路由器视频监控方案
  15. 计算机web前端环境分析,web前端开发行业前景分析
  16. java海康摄像头添加人脸_java调用海康人脸识别机5603的sdk的使用总结(二)
  17. WiFi关联拒绝log分析以及代码流程 ASSOC_REJECT
  18. 在线CC攻击网站源码
  19. 电脑桌面录制直播嵌入网页
  20. css 水平居中和垂直居中

热门文章

  1. 海康VM联合C#开发时点击快速匹配报错处理
  2. Centos7安装Beanstalkd
  3. *现在感觉librealsense和realsense-ros的安装挺简单的(普通X86平台)(现在发现都有两种安装方式,下载源码编译或者二进制安装)
  4. 【Python-利用动态二维码传输文件(四)】使用pyautogui库录屏(连续截图),然后利用OpenCV逐张读取截图,识别当中的二维码信息,并把信息重组成原文件
  5. VritualBox Centos 与主机复制粘贴问题解决
  6. 如何以最少的花费提高淘宝流量?
  7. 图解加速北京现代转型的“2025向新计划”
  8. python--海温、OLR数据分布做显著性检验,绘制空间分布并打点
  9. Mac电脑PHP开发环境配置
  10. 设计模式-行为型模式总结