文档详情

11-1 分布式数据库中的事务管理和恢复.pptx

发布:2017-01-23约1.37万字共77页下载文档
文本预览下载声明
分布式数据库中的事务管理和恢复分布式事务概述分布式事务的恢复两阶段提交协议分布式数据库中的数据更新分布式事务增强数据库一致性1 分布式事务概述1.1 分布式事务定义和特性事务概念事务是访问或更新各种数据项的最小逻辑工作单位。它是一个操作序列它可以使数据库从一个一致状态到另外一个一致状态事务必须保证数据库的一致性事务执行期间数据库可能不一致1 分布式事务概述1.1 分布式事务定义和特性事务概念 当事务提交(commit)时数据库必须是一致的数据库可能临时不一致数据库一致数据库一致事务T结束事务T开始事务T的执行1 分布式事务概述1.1 分布式事务定义和特性分布式事务集中式事务和操作数据在一个站点上不存在传输费用分布式操作数据分布在不同的站点上事务也在多个站点上执行分布式事务是集中式事务的扩充站点和通信连路故障都可能导致错误发生分布式事务的恢复要比集中式事务复杂的多1 分布式事务概述1.1 分布式事务定义和特性分布式数据库中的事务 事务分类:全局事务通常由一个主事务和在不同站点上执行的子事务组成主事务:负责事务的开始、提交和异常终止子事务:完成对相应站点上的数据库的访问操作局部事务仅访问或更新一个站点上的数据的事务1 分布式事务概述1.1 分布式事务定义和特性分布式事务特性ACID特性原子性(Atomicity) 事务的操作要么全部执行, 要么全部不执行 ,保证数据库一致性状态一致性(Consistency) 事务的正确性,串行性,并发执行的多个事务,其操作的结果应与以某种顺序串行执行这几个事务所得的结果相同. 持久性(Durability) 当事务提交后, 其操作的结果将永久化, 而与提交后发生的故障无关 1 分布式事务概述1.1 分布式事务定义和特性分布式事务特性隔离性( Isolation)虽然可以有多个事务同时执行,但是单个事务的执行不应该感知其他事务的存在,因此事务执行的中间结果应该对其他并发事务隐藏 此外,分布式数据库系统中还要考虑数据传送、通信原语和控制报文等。全局事务的主事务和子事务全部成功提交,才能改变数据库状态,有一个失败,其他子事务操作都要撤销。1 分布式事务概述1.1 分布式事务定义和特性分布式事务特性举例从账号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 分布式事务定义和特性分布式事务特性举例 一致性要求: 事务执行后A 和 B账号的总金额不变原子性要求: 如果事物在第3步和第6步之间故障, 系统应该保证事务对数据库的修改没有产生,否则将导致不一致性1 分布式事务概述1.1 分布式事务定义和特性分布式事务特性举例持久性要求: 一旦用户通知说事务已经完成(即$50 转账成功),那么由该事务对数据库的修改就必须保证是永久的,即使是发生故障也如此1 分布式事务概述1.1 分布式事务定义和特性分布式事务特性举例独立性要求 如果在第 3步和第6步之间, 允许其他事务访问被修改的数据库的中间结果, 那么它将见到一个不一致的数据库 (也就是说, A + B 的和少于它的正确值) 当然事务的串行执行将不会出现这种情况,但是数据库中事务并行执行的优点就损失了1 分布式事务概述1.2 分布式事务结构和事务状态分布式事务的一般结构Begin Transaction原语:开始一个事务 T1[] T2[] :子事务或操作序列 : Tn[]Commit原语:事务成功完成的结束Rollback或Abort原语:事务失败的结束1 分布式事务概述1.2 分布式事务结构和事务状态分布式事务的状态活动 从事务开始执行的初始状态始, 事务执行中保持该状态部分提交 事务的最后一个语句执行后进入该状态.失败一旦发现事务不能正常执行时进入该状态夭折 当事务被回滚后,数据库恢复到事务开始执行前的状态。 事务夭折后有两种选择重启动 仅当没有内部逻辑错误时杀死提交 当事务成功执行后.1 分布式事务概述1.2 分布式事务结构和事务状态分布式事务的状态1 分布式事务概述1.2 分布式事务结构和事务状态进程相关定义进程:系统中可以并行执行的一段操作序列,分布式事务中的子事务序列是进程方式完成的进程说明:定义进程的行为模式,数据和数据上的操作,功能等进行执行:按模式来启动这个进程,执行其中的操作过程:不可并行执行的操作序列事务代理(Agent):应用在各个Site上执行的若干进程,称作应用在该Site上的代理。代理可以执行应用程序员写的程序,也可以执行系统的原语函数,不同代理间通过报文实现通讯根代理(Root Agent) 应用启动Site上的代理。根代理所在的S
显示全部
相似文档