当前位置: 首页 > news >正文

pgbackrest备份方案(差异和增量备份的区别)

pgbackrest备份方案(差异和增量备份的区别)

一 备份

全量备份:

将数据库集群的全部内容复制到备份中。数据库集群的第一个备份始终是全量备份。始终能够直接还原全量备份。全量备份不依赖于完整备份之外的任何文件来保持一致性。

差异备份:

仅复制自上次全量备份以来已更改的那些数据库集群文件。通过复制所选差异备份中的所有文件以及先前全量备份中的相应未更改文件来还原差异备份。差异备份的优点在于,与全量备份相比,它需要的磁盘空间更少,但是,差异备份和全量备份都必须有效才能还原差异备份。

增量备份:

仅复制自上次备份(可以是另一个增量备份,差异备份或全量备份)以来发生更改的那些数据库集群文件。由于增量备份仅包括自上次备份以来已更改的文件,因此它们通常比全量备份或差异备份小得多。与差异备份一样,增量备份依赖于其他备份才能有效还原增量备份。由于增量备份仅包括自上次备份以来的那些文件,因此,所有先前的增量备份(回到先前的差异备份),先前的差异备份和先前的全量备份都必须有效,才能执行增量备份的还原。如果不存在差异备份,则所有先前的所有增量备份都将还原为必须存在的先前的完整备份,并且完整备份本身必须有效才能还原增量备份。

二 差异备份和增量备份对比

在这里插入图片描述

全量备份+差异备份全量备份+增量备份
情景周一全备,周二差异,周三差异,周四差异 周五出问题周一全备,周二增量 周三增量,周四增量,周五出问题
定义备份自上次完整备份之后所有的更改只备份自上次备份(完整,差异,增量)之后修改的数据
备份时间较长较短
备份空间较大较小
恢复时间较快较慢
恢复过程周一全备+周四差异 可达到目的周一全备+周二增量+周三增量+周四增量 可达到目的

注:

若保存到磁带上,那么更推荐全备+差异备份的方式,磁带的物理性能不稳定,选取增量备份方式,任一磁带坏了都无法全部恢复

pgbackrest备份的还原是通过执行命令,程序自动调度实现

总结:

全量备份+差异备份 备份数据需要较多的时间,但还原数据使用较少的时间。

全量备份+增量备份 备份数据需要较少的时间,但还原数据使用较多的时间。

三 备份策略配置
第一种:全量备份+差异备份
周六周天周一周二周三周四周五
差异全备差异差异差异差异差异

配置文件

[pg1-data]
pg1-path=/var/lib/postgresql/11/main[global]
archive-async=y
process-max=2 
start-fast=y 
repo1-path=/var/lib/postgresql/11/pgbackrest
repo1-retention-full=2
repo1-retention-diff=7[global:archive-push]
process-max=2
compress-level=3[global:archive-get]
process-max=2

定时器

30 06 * * 0 pgbackrest --type=full --stanza=demo backup
30 06 * * 1-6 pgbackrest --type=diff --stanza=demo backup
第二种:全量备份+增量备份
周六周天周一周二周三周四周五
增量全备增量增量增量增量增量
[pg1-data]
pg1-path=/var/lib/postgresql/11/main[global]
archive-async=y
process-max=2 
start-fast=y 
repo1-path=/var/lib/postgresql/11/pgbackrest
repo1-retention-full=2
repo1-retention-diff=7[global:archive-push]
process-max=2
compress-level=3[global:archive-get]
process-max=2

定时器

30 06 * * 0 pgbackrest --type=full --stanza=demo backup
30 06 * * 1-6 pgbackrest --type=incr --stanza=demo backup

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何在SpringBoot中进行单元测试?
  • Visual Studio Code搭建VUE开发环境
  • 【linux】curl命令用法
  • 敏捷开发模式优缺点,对测试人员有哪些要求?
  • python常用标准库
  • Leetcode75-7 除自身以外数组的乘积
  • VUE3—无限级菜单渲染
  • C++ 异步编程脉络与示例
  • web基础与HTTP
  • IEEE报告解读:存储技术发展趋势分析
  • 神经网络中的优化方法
  • 网络编程复习
  • 服务器模式
  • 【C++】-----多态及原理
  • 相机标定——小孔成像、相机模型与坐标系
  • 《Java编程思想》读书笔记-对象导论
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • canvas绘制圆角头像
  • C语言笔记(第一章:C语言编程)
  • Docker入门(二) - Dockerfile
  • JavaScript HTML DOM
  • JDK 6和JDK 7中的substring()方法
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • Making An Indicator With Pure CSS
  • maya建模与骨骼动画快速实现人工鱼
  • mysql innodb 索引使用指南
  • Mysql5.6主从复制
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • rabbitmq延迟消息示例
  • React-生命周期杂记
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 大整数乘法-表格法
  • 复杂数据处理
  • 提醒我喝水chrome插件开发指南
  • 云大使推广中的常见热门问题
  • nb
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • # Kafka_深入探秘者(2):kafka 生产者
  • # 计算机视觉入门
  • #FPGA(基础知识)
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (52)只出现一次的数字III
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (poj1.2.1)1970(筛选法模拟)
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (算法)求1到1亿间的质数或素数
  • (一)Neo4j下载安装以及初次使用
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .