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 分布式事务概述 分布式事务特性举例