7数据一致性控制数据一致性控制(自学)(自学)6
事务的定义事务是用于访问和修改各种数据项的一个程序单位
事务也可以被看作是一系列相关读和写操作
被访问的数据可以分散地存放在同一文件的不同记录中,也可放在多个文件中
只有对分布在不同位置的同一数据所进行的读和写(含修改)操作全部完成时,才能再以托付操作(CommitOperation)来终止事务
只要有一个读、写或修改操作失败,便须执行夭折操作(AbortOperation)
读或写操作的失败可能是由于逻辑错误,也可能是系统故障所导致的
事务记录(TransactionRecord)·事务名:用于标识该事务的惟一名字;·数据项名:它是被修改数据项的惟一名字;·旧值:修改前数据项的值;·新值:修改后数据项将具有的值
恢复算法恢复算法可利用以下两个过程:(1)undo〈Ti〉
该过程把所有被事务Ti修改过的数据,恢复为修改前的值
(2)redo〈Ti〉
该过程能把所有被事务Ti修改过的数据,设置为新值
如果系统发生故障,系统应对以前所发生的事务进行清理
检查点(CheckPoints)的作用引入检查点的主要目的,是使对事务记录表中事务记录的清理工作经常化,即每隔一定时间便做一次下述工作:首先是将驻留在易失性存储器(内存)中的当前事务记录表中的所有记录,输出到稳定存储器中;其次是将驻留在易失性存储器中的所有已修改数据,输出到稳定存储器中;然后是将事务记录表中的〈检查点〉记录,输出到稳定存储器中;最后是每当出现一个〈检查点〉记录时,系统便执行上小节所介绍的恢复操作,利用redo和undo过程实现恢复功能
新的恢复算法恢复例程首先查找事务记录表,确定在最近检查点以前开始执行的最后的事务Ti
在找到这样的事务后,再返回去搜索事务记录表,便可找到第一个检查点记录,恢复例程便从该检查点