第7章事务管理 事务管理( transaction management 恢复—保证事务在并发执行时满足ACID准 则的技术。 ■并发控制保证事务在并发执行时满足 ACID准则的技术
第7章 事务管理 ◼ 恢复——保证事务在并发执行时满足ACID准 则的技术。 ◼ 并发控制——保证事务在并发执行时满足 ACID准则的技术。 事务管理(transaction management):
71恢复引论 故障的可能性总是存在的。解决故障的措施有二: 一是尽可能提高可靠性;二是恢复。 这里主要讨论发生故障后,恢复数据库至一致状 态的技术,即恢复技术。 系统发生故障时,可能会导致数据的丢失0sy 要恢复丢失的数据,必须有后备副本。 对于恢复,数据冗余是必需的!
7.1 恢复引论 故障的可能性总是存在的。解决故障的措施有二: 一是尽可能提高可靠性;二是恢复。 这里主要讨论发生故障后,恢复数据库至一致状 态的技术,即恢复技术。 系统发生故障时,可能会导致数据的丢失(loss), 要恢复丢失的数据,必须有后备副本。 对于恢复,数据冗余是必需的! 一致状 态
恢复技术大致可以分为下列三种 1单纯以后备副本为基础的恢复技术 2以后备副本和运行记录为基础的恢复 3基于多副本的恢复技术
1.单纯以后备副本为基础的恢复技术 2.以后备副本和运行记录为基础的恢复 3.基于多副本的恢复技术 恢复技术大致可以分为下列三种
1单纯以后备副本为基础的恢复技术 从文件系统继承而来,周期性的把磁盘上的数据库转 储(dump)到脱机存放的磁带上。 更新丢失 取后备副本 取后备副本 取后备副本 失效 增量转储(ID) 更新丢失 取后备副本D ID取后备副本1D)1 取后备副本1D 失效
1.单纯以后备副本为基础的恢复技术 ◼ 从文件系统继承而来,周期性的把磁盘上的数据库转 储(dump)到脱机存放的磁带上。 失效 取后备副本 取后备副本 取后备副本 更新丢失 更新丢失 取后备副本 ID ID 取后备副本 ID ID 取后备副本 ID 失效 ◼ 增量转储(ID)
单纯以后备副本为基础的恢复技术: 优点:实现简单,不增加数据库正常运行 时的开销。 缺点:不能恢复到数据库的最近一致的状 态。 多用于文件系统以及小型的不重要的数据 库系统
单纯以后备副本为基础的恢复技术: 优点:实现简单,不增加数据库正常运行 时的开销。 缺点:不能恢复到数据库的最近一致的状 态。 多用于文件系统以及小型的不重要的数据 库系统
2以后备副本和运行记录为基础的恢复 运行记录(log或 journal)由系统维护,一般包 括下列内容: (1)前像( Before Image,BI) 当数据库被一个事更新时,所涉及的物理块更新 前的映像〔 Image)称为该事务的前像(BI),前 像以物理块为单位;有了前像可以使数据库恢复到 更新前状态,对应操作undo撒销)
2.以后备副本和运行记录为基础的恢复 运行记录(log或journal)由系统维护,一般包 括下列内容: (1)前像(Before Image,BI) 当数据库被一个事务更新时,所涉及的物理块更新 前的映像(image)称为该事务的前像(BI),前 像以物理块为单位;有了前像可以使数据库恢复到 更新前状态,对应操作undo(撤销)
(2)后像( After Image,AI 当数据库被一个事务更新时,所涉及的物理块更新后 的映像( Image)称为该事务的后像(AI),后像也 以物理块为单位;有了后像,即便更新的数据丢失了 仍然可以使数据库恢复到更新后的状态,相当于重做 次更新,对应操作redo重做)
(2)后像(After Image,AI) 当数据库被一个事务更新时,所涉及的物理块更新后 的映像(image)称为该事务的后像(AI),后像也 以物理块为单位;有了后像,即便更新的数据丢失了, 仍然可以使数据库恢复到更新后的状态,相当于重做一 次更新,对应操作redo(重做)
问题:前像(B、后像(AI和事务操作的关系? 修改—有前像有后像 插入没前像有后像 删除有前像没后像
问题:前像(BI)、后像(AI)和事务操作的关系? 修改——有前像 有后像 插入——没前像 有后像 删除——有前像 没后像
(3)事务状态 记录每个事务的状态,以便在恢复时作不同的处理 ( COMMIT和 NOT COMMIT)。 事务开始动状态 操作结束 事务提交 事务失败 回卷 事务结束
(3)事务状态 记录每个事务的状态,以便在恢复时作不同的处理 (COMMIT和NOT COMMIT)。 事务失败 事务开始 活动状态 操作结束 事务提交 回卷 事务结束
提交cmmt)成功执行(do 回卷( Rollback或 Abort)消除事务对数据库的影 响( do nothing) 对恢复而言,至少要区分一个事务是否提交!
提交(Commit)——成功执行(do all)。 回卷(Rollback或Abort)——消除事务对数据库的影 响(do nothing)。 对恢复而言,至少要区分一个事务是否提交!