首页 > 数据库 >数据库的恢复技术

数据库的恢复技术

时间:2023-05-19 11:14:51浏览次数:40  
标签:事务 恢复 数据库 技术 更新 转储 commit 日志

存储器结构

分类

1、易失性存储器:内存、高速缓冲存储器
2、非易失性存储器:磁盘、磁带
3、稳定存储器:理想的存储器,其中信息永不丢失

稳定存储器的实现

要实现稳定存储器,就要在多个非易失性存储介质上以独立的故障模式复制所需要的信息,并且以某种受控的方式更新数据,以保证数据传送的过程中发生的故障不会破坏所需信息
采用冗余独立磁盘阵列(RAID)可以保证单个磁盘的故障不会导致数据丢失。

数据访问

数据库通常驻留在磁盘上,并且划分成固定长度的块。块是磁盘传送的基本单位,可能包含多个记录。
缓冲块是暂时驻留在主存中的块,物理块位于磁盘上.
8.png
9.png

基于日志的恢复技术

日志

1、日志是日志记录的序列,记录了数据库中所有的更新活动。登记了每个事务的开始标记、结束标记、和所有更新操作
2、事务结束可能是正常提交(commit)、也可能是异常终止(abort)
3、事务的更新可能是插入、删除、更改
11.png
10.png
登记日志的原则
1、日志记录必须严格按并发事务的时间次序登记
2、必须先记日记后写数据库

redo(Ti):根据日志记录,登记日志的次序,将事务Ti每次更新的数据对象的新值用write操作重新写到数据库中。redo执行多次等价于执行一次
undo(Ti):根据日志,按照登记日志的相反次序,将事务Ti每次更新的数据对象的旧值用write操作写回数据库。

延迟更新

将对事务的更新推迟到事务提交之后遵循以下原则
(1)、每个事务在到达提交点之前不能更新数据库
(2)、在一个事务的所有更新操作的日志记录写入稳定存储器之前,该事务不能达到提交点

延迟更新技术只需要在日志中记录被更新数据对象的新值

事务故障的处理:12.png

系统故障的处理

13.png
14.png
对于(a)时刻:这时没有commit所有事务都未提交所以不用管
对于(b)时刻:T0commit所以对T0事务执行redo
c:T0、T1均commit执行redo

即时更新

允许事务在活跃状态时就将更新输出到数据库上。处于活动状态的事务直接在数据库上实施的更新称为非提交更新。遵循以下原则
(1)、在<Ti, Xj, V1, V2>安全地输出到稳定性存储器之前,事务Ti不能更新
(2)、在所有<Ti, Xj, V1, V2>类型的日志记录安全地输出到稳定存储器之前,不孕寻事务提交
15.png

事务故障处理

16.png

系统故障的处理

17.png
18.png

延迟更新和即时更新对数据库的恢复的不同之处就是因为更新数据库的时间不同导致,延迟更新是用已经commit的去恢复,没有commit的我们本身没有对数据库操作也就不用恢复,而即时更新是我们在commit之前只要日志记录成功我们就可以更新数据库,一旦出现故障,那些没有commit的我们用记录中的旧值去更新,commit的用新值去更新。

基于检查点的恢复技术

对于系统故障恢复时,必须搜索日志,确定哪些事务是需要redo的,哪些事务是需要undo的,这个过程需要搜索整个日志,这里就会有两个问题
1、日志一般来说很大,搜索起来很耗时
2、有些事务已经写入数据库,再次执行redo虽然不会错,但是会耗时
检查点技术的使用就很好的解决了这两个问题
通过定期建立检查点来解决
21.png
基于即时更新的检查点恢复过程
22.png
23.png
19.png
20.png

介质故障恢复技术

虽然介质故障不常见但危害巨大
首先说一下转储的概念
转储是指将整个或部分数据库复制到磁带或另一个磁盘上,产生数据库后备副本的过程。根据转储时是否允许事务运行可以分为静态转储和动态转储
静态转储
24.png
动态转储
25.png
海量转储和增量转储
26.png
27.png

标签:事务,恢复,数据库,技术,更新,转储,commit,日志
From: https://www.cnblogs.com/cxy8/p/17414039.html

相关文章

  • 近8万条谜语灯谜大全ACCESS\EXCEL数据库
    其实互联网上关于谜语和灯谜的资料仍然是挺多的,但是要想数据量以万来计算并且是接近10万的量来看的话,就只能是《近8万条谜语灯谜大全ACCESS数据库》了。而且《近8万条谜语灯谜大全ACCESS数据库》的数据表字段中也包含分类字段,可以根据分类字段有针对性的给出谜语。分类情况包含:......
  • 2万5千多条经典名言语录ACCESS\EXCEL数据库
    语录之类的数据库之前也发现过几个,比如《用自制的采集程序采集的经典语录》、《从网上采集下来的那些优美的句子》等,但是这些感觉都比较现代,比较时尚,而今天发现的这个《2万5千多条经典名言语录ACCESS数据库》则比较正规、是属于那种收集完整的传统经典谚语类的ACCESS数据库。---......
  • 技术干货|如何利用 ChunJun 实现数据离线同步?
    ChunJun是⼀款稳定、易⽤、⾼效、批流⼀体的数据集成框架,基于计算引擎Flink实现多种异构数据源之间的数据同步与计算。ChunJun可以把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从⽽为企业提供全⾯的数据共享,目前已在上千家公司部署且稳定运⾏。在之前,我们曾......
  • 两电平传统常见变频器技术参数之一
      一、变频器功率 直流母线电容量配置  Rg电阻值和Rge电阻  预充电电阻 1、1.5kw   280uf  100R 5.1k  5W51R*2 在DC-预充电2、110kva  10200uf   5.6R 2400R  接触器 在DC+预充电3、45kw  3300uf4、 11kw  1650uf  18R  ......
  • 分布式系统关键技术:服务调度
    1、服务关键程度服务关键程度,主要是梳理和定义服务的重要程度。这不是使用技术可以完成的,而是需要细致地管理对业务的理解,才能定义出架构中各个服务的重要程度。 2、服务依赖关系梳理出服务间的依赖关系,这点也非常重要。我们常说,“没有依赖,就没有伤害”。这句话的意思就是说......
  • “信”创未来 | AntDB数据库2022年度总结,请查收!
     关于AntDB数据库AntDB数据库始于2008年,在运营商的核心系统上,为全国24个省份的10亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。......
  • 小程序技术,打开跨端管理的思路,提高客户满意度和忠诚度
    ​小程序容器作为跨端管理的有效工具,已经成为越来越多企业的选择。通过小程序容器,企业可以实现跨平台部署,提供一致的用户体验,整合多种渠道实现全渠道协同,进行个性化营销,以及通过数据分析和监控等手段优化产品和服务。这些功能和优势不仅可以提高用户的满意度和忠诚度,还可以为企业......
  • 上海丨阿里云 Serverless 技术实战营邀你来玩!
    活动简介本次沙龙深度探讨“Serverless在中国企业的落地和开发者实操”主题,我们特别邀请了来自阿里云一线技术专家,分享当前Serverless趋势和落地实践过程中的挑战和机遇;带来数据库Serverless技术架构及应用实践;浅析云原生时代开发者需要的Serverless能力,为开发者日常......
  • 投标文件--技术标 反馈及编写顺序
    一问题反馈:1.原来写过的投标文档,整体内容适当变一变,不要原封不动,适当组合组合2.技术指标--拿出一个大的章节放到突出位置二编写顺序参照投标文件搜索找到关键字‘技术标’相关字眼找到‘投标人须知前附表’找到‘投标文件格式要求’看一遍上面这些要求,如果格式要......
  • mysql备份与恢复
    数据库备份时把把数据库的结构,包括数据、约束、索引、视图等全部另存为一个文件。使用mysqldump备份的语句:mysqldump 是MySQL用于备份数据库的实用程序。它主要产生一个SQL脚本文件,其中包含从头重新创建数据库所必需的命令 CREATE TABLE INSERT 等。使用 mysqldump......