1、1. 分布式事务概述2.分布式事务的恢复3.两阶段提交协议4.分布式数据库中的数据更新5.分布式事务增强数据库一致性分布式数据库中的事务管理和恢复 第 5章事务概念 事务是访问或更新各种数据项的最小逻辑工作单位。 它是一个操作序列 它可以使数据库从一个一致状态到另外一个一致状态 事务必须保证数据库的一致性 事务执行期间数据库可能不一致1.1 分布式事务定义和特性1 分布式事务概述 当事务提交( commit)时数据库必须是一致的事务 T开始 事务 T结束事务 T的执行数据库一致数据库一致数据库可能临时不一致1.1 分布式事务定义和特性1 分布式事务概述事务概念分布式事务 集中式 事务和操作数据
2、在一个站点上 不存在传输费用 分布式 操作数据分布在不同的站点上 事务也在多个站点上执行 分布式事务是集中式事务的扩充 站点和通信连路故障都可能导致错误发生 分布式事务的恢复要比集中式事务复杂的多1.1 分布式事务定义和特性1 分布式事务概述 事务分类 : 全局事务 通常由一个主事务和在不同站点上执行的子事务组成 主事务:负责事务的开始、提交和异常终止 子事务:完成对相应站点上的数据库的访问操作 局部事务 仅访问或更新一个站点上的数据的事务1.1 分布式事务定义和特性1 分布式事务概述分布式数据库中的事务 ACID特性 原子性( Atomicity)事务的操作要么全部执行 , 要么全部不执行
3、,保证数据库一致性状态 一致性( Consistency)事务的正确性,串行性,并发执行的多个事务 ,其操作的结果应与以某种顺序串行执行这几个事务所得的结果相同 . 持久性( Durability)当事务提交后 , 其操作的结果将永久化 , 而与提交后发生的故障无关 1.1 分布式事务定义和特性1 分布式事务概述分布式事务特性 隔离性( Isolation) 虽然可以有多个事务同时执行,但是单个事务的执行不应该感知其他事务的存在,因此事务执行的中间结果应该对其他并发事务隐藏 此外,分布式数据库系统中还要考虑 数据传送、通信原语和控制报文 等。 全局事务的主事务和子事务全部成功提交,才能改变数据库状态,有一个失败,其他子事务操作都要撤销。1.1 分布式事务定义和特性1 分布式事务概述分布式事务特性 从账号 A向账号 B转账 $50:1. read(A)2. A := A 503. write(A)4. read(B)5. B := B + 506. write(B)1.1 分布式事务定义和特性1 分布式事务概述分布式事务特性举例 一致性要求 : 事务执行后 A 和 B账号的总金额不变 原子性要求 : 如果事物在第 3步和第 6步之间故障 , 系统应该保证事务对数据库的修改没有产生 ,否则将导致不一致性1.1 分布式事务定义和特性1 分布式事务概述分布式事务特性举例