第8章磁盘管理(2).pptVIP

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 8.4.4 后备系统 常用的后备系统设备。 磁带机 硬盘 光盘 * 8.5 数据一致性控制 数据一致性的概念在数据库中出现较多。 硬件支持主要是要求在系统中能配置一个高度可靠的存储器系统,或称之为稳定存储器。实现一个稳定存储器的措施是采用冗余技术。将一份信息同时存放在多个独立的、非易失性存储器上。目前采用磁盘双工方式来实现稳定存储器。 * 8.5.1 事务 1、事务(Transaction)的定义 事务是用于访问和修改各种数据项的一个程序单位。可以看作是一系列的读和写操作。 事务的操作全部完成时要执行托付(commit)操作来终止事务。事务失败时要执行夭折(Abort)操作。 事务具有原子性:事务的操作要么全部完成,要么一个也不做。 * 2、 事务记录 记录事务运行时所有对数据项的修改信息。 又称运行日志(Log)。 该记录包括: 事务名 事务的唯一标识 数据项名 被修改的数据项标识 旧值 新值 当一个事务发生时,将一个事务记录也写入事务记录表中。(Ti开始)记录,(Ti修改)记录,(Ti托付)记录 * 3、 恢复算法 由于一组被事务Ti修改的数据以及它们被修改前和修改后的值,都能在事务记录表中找到。因此当系统发生故障后,利用事务记录进行故障恢复。 搜索整个事务记录表: 对于已经完成了各类操作的事务,执行redo操作——把所有被事务Ti修改过的数据设置为新值(有开始有托付记录) 对于未全部完成的事务,执行undo操作——把所有被事务Ti修改过的数据恢复为修改前的值(有开始无托付记录) * 8.5.2 检查点 1、检查点 (Check points)的作用 随着系统的运行,事务记录表会变得越来越大,这样当发生故障时,搜索整个事务记录表来进行恢复就是一件非常费时的工作。因而引入检查点。 引入检查点的主要目的,是使对事务记录表中事务记录的清理工作经常化,即每隔一定时间便做一次下述工作。 * 8.5.2 检查点 1、检查点 (Check points)的作用 首先:将驻留在易失性存储器中的当前事务记录表中的所有记录,输出到稳定存储器中; 其次:将驻留在易失存储器中的所有已修改数据,输出到稳定存储器中; 然后:将事务记录表中的检查点记录,输出到稳定存储器中; 最后:每当出现一个检查点记录时,系统便执行恢复操作,利用redo和undo过程实现恢复功能。 * 2、新的恢复算法 在引入检查点后,当发生故障后,只需对最后一个检查点以后开始的事务执行恢复工作。 * 8.5.3 并发控制 在多进程或多用户系统中,可能有多个事务在并发执行,这些事务对数据的修改应该是互斥的。(参见进程同步) 可以利用PV操作来实现互斥。 但在数据库和文件服务器中,应用得最多的还是较简单且灵活的同步机制:锁。 * 锁即操作系统中的一标志位,0表示资源可用,1表示资源已被占用。用户程序不能对锁直接操作,必须通过操作系统提供的上锁和开锁原语来操作。 通常锁用w表示,上锁开锁原语分别用lock(w)、unlock(w)来表示。 * 上锁和开锁原语 上锁原语lock(w)可描述为: while w=1 do no-op;   w:=1;  开锁原语unlock(w)可描述为: W:=0; * 用原语实现进程互斥 * 1、互斥锁 当事务访问一数据项时,给它上锁 ,访问完后开锁。 * 2、互斥锁和共享锁 互斥锁可以简单实现事务的并发控制,但会影响并发度。 因为当一个事务读一个数据项时,另一事务应该也能读同一数据项,但上互斥锁时没有这种可能。 所以引入共享锁:事务读对象时申请共享锁,若该对象未上锁或上的是共享锁,则可以申请到。事务写对象时申请互斥锁,只有对象未上锁时才能申请到。 * 8.5.4 重复数据的数据一致性问题 为了保证数据的安全性,最常用的做法 是把关键文件或数据结构复制多份,分别 存储在不同的地方,当主文件失效时,还 有备份文件可以使用。显然,主文件中的 数据应与各备份文件中的对应数据相一致。 * 6.7.4 重复数据的数据一致性问题 1. 重复文件的一致性 图 6-28 UNIX类型的目录 * 6.7.4 重复数据的数据一致性问题 在有重复文件时,如果一个文件拷贝被修改,则必须也同时修改其它几个文件拷贝,以保证各相应文件中数据的一致性。可采用两种方法: 当一个文件被修改后,可查找文件目录,以得到其它几个拷贝的索引结点号,再从这些索引结点中找到各拷贝的物理位置,然后对这些拷贝做同样的修改 为新修改的文件建立几个拷贝,并用新拷贝去取代原来的文件拷贝。 * 2. 链接数一致性检查 为每个盘块建立一个表项,其中含有该索引结点号的计数值。 在进行检查时,从根目录开始

文档评论(0)

peace0308 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档