热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

数据大了备份很慢?方法不对吧

这是所有数据库的常识。有人说把历史数据归档,这样线上库就小了。对,但是你归档库不备份吗?10TB的你试试,物理备份还好办些,但是也耗时不少。逻辑备份就不要想了,可能一周都不行,关键

这是所有数据库的常识。有人说把历史数据归档,这样线上库就小了。对,但是你归档库不备份吗?

10TB的你试试,物理备份还好办些,但是也耗时不少。逻辑备份就不要想了,可能一周都不行,关键还是要恢复呢。真的出了问题你指望这个备份吗?基本指望不上。

比如你凌晨1点备份的,全备份。(传统行业18点到第二天早上9点没有写入,没有数据变化了)然后用的下午13点出问题了。9点到13点的4个小时怎么办?

我知道很多人说有归档啊。对,有归档,你可以还原。就是需要些时间。这里说的出问题有几种。

1、硬件故障(概率极低),现在的硬件技术,我从业快20年了,真没见到过几次硬件故障导致数据库不能用的(亲自经历过一次就是自己误操作把阵列格式化了,现在想想当时蠢到家了,好在还没正式使用的数据,当时太丢人了)

这种我建议你有一个镜像库。从库。我虽然极力反对OLTP 主从情况下切换。(除非你人工确认是一致性的 以及本来就是多写比如Oracle的RAC 或者18C开始的DML重定向 以及MySQL MGR这种 )但是当主库遭遇着火或者雷击等灭顶之灾的不可抗拒力的情况下,从库相对来说比你的备份更加趋于全面。

2、误操作。这种是最多的。比如原始数据如下。

image.png图片

一失手没有带where条件的更新。

update f set b=‘a’ 这里就4条,真实环境可能几百万几千万。而且还被改了两次。

image.png图片

image.png图片

怎么能知道以前的呢?这里说个老的技术,都快20年前了。别说DBA了,就是开发都知道的功能。闪回。

根据不同时间断面查询表在不同断面的数据。原始数据

image.png图片

image.png图片

第二次变化,即当前。

image.png图片

其他数据库暂无这个功能,不过需要其他手段去做。比如解析日志,逆运算等等。

因为政治因素大家要替换Oracle,从技术上来说他真的解脱我们。可惜呀。

再加上很多决策者不希望性能由数据库决定(但是一个系统中的瓶颈基本就在数据库,数据库是系统压力的最关键),而是由开发来决定。(觉得这样可控,其实我觉得数据库好控制,开发取决于人这才是完全不可控)

这和备份有什么关系?有,误操作的对Oracle来说闪回就解决了(空间够大,闪回时间越长),我空间不够怎么办(世界上就一种病叫穷–来自《我不是药神》)

MySQL PG 需要DBA介入了。有没有能解脱人力的?几年前听过一次技术交流说到备份一体机,才知道还有这个玩意?但是实际上早就有了,只是我孤陋寡闻而已。它的原理就是只做一次全量备份,然后每天做增量,并且给你恢复(这是重点区别于我们传统只备份不恢复检查,当遇到问题需要恢复时候发现居然可能不能用)这样每天只要做增量,而且是恢复好了放在那里,保留N天。就看你要保持多少天了。比如30天,如果你需要任意30天内的某天的数据。直接去查询。其类似这样闪回保留过去某一时间断面的数据版本一样,他保留过去某天当天备份时间点的数据版本。

重点:

1每天增量再也不用每周全量这样的痛苦操作。

2每天还做了备份的检查,因为做了恢复。

3想用随时用,不需要专人去恢复。

4避免恢复需要的长时间等待

5有的机器只能做一种数据库,比如Oracle的只能做Oracle的,但是不少供应商的可以做很多中数据库的。

6空间也稍许节约了。

下一篇我们从另外一个角度谈谈备份。



推荐阅读
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
author-avatar
奶爸集丶训营_502
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有