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