文档详情

高级事务处理.ppt

发布:2017-02-19约6.26千字共43页下载文档
文本预览下载声明
Copyright: Silberschatz, Korth and Sudarshan 第24章: 高级事务处理 事务处理监视器 TP 监视器体系结构 TP 监视器体系结构 (续) TP 监视器体系结构 (续) TP监视器的详细结构 TP监视器的详细结构(续) 利用TP监视器协调应用 工作流系统 事务工作流 工作流实例 贷款处理工作流 事务工作流 工作流说明 工作流说明 (续) 故障原子性需求 工作流的执行 工作流管理系统体系结构 工作流调度器 工作流的恢复 工作流恢复 (续) 高性能事务系统 高性能事务系统 主存数据库 主存数据库优化 组提交 实时事务系统 长事务 长事务(续) 并发控制 并发控制(续) 嵌套与多级事务 嵌套与多级事务(续) 嵌套例 补偿事务 实现问题 多数据库系统中的事务管理 由于有自治性假设, 在多数据库系统中事务管理更加复杂 全局2PL – 每个局部场地使用严格2PL (锁在结束时释放); 作为全局事务的结果的封锁仅当该事务结束时才释放. 保证全局可串行化 由于自治性要求, 场地间不能合作并执行一个公共的并发控制方案 例如没有办法确保所有数据库遵循严格 2PL 解决方法: 提供很低级的并发执行, 或者 使用较弱的一致性级别 事务管理 两级可串行性 两级可串行性 (续) 全局可串行性 确保全局可串行性 End of Chapter 一个能够保持A + B之和不变的非冲突可串行化调度 一个嵌套或多级事务T 表示为一个子事务集合T = {t1, t2, ..., tn} 及T 上的一个偏序P. T 中子事务ti 可以中止而不强制T 中止. 相反, T 可以要么重启ti, 要么简单地选择不运行ti . 若ti 提交, 这个动作并不能使得ti 永久化(与Chapter 15中的情况不同). 相反, ti 向T 提交, 若T 中止它仍可能中止(或者需要补偿操作). T 的执行不能破坏偏序P, 即, 如果边ti ? tj 出现在优先图中, 则tj ? ti 不能出现在P 的传递闭包中. 子事务本身可以是嵌套/多级事务. 嵌套的最低层: 标准read和write操作. 嵌套可建立较高层操作从而加强并发性. 嵌套/多级事务的类型: 多级事务: 允许T 的子事务结束时释放锁. Saga(长篇叙述): 多级长事务. 嵌套事务: T 的子事务ti 持有的锁在ti 结束时自动给予T. 利用执行增加与减少操作的子事务Ta 和Tb 来重写事务T1: T1 包括 T1,1, 从A 减去50 T1,2, 向B 增加50 利用执行增加与减少操作的子事务Tc 和Td 来重写事务T2: T2 包括 T2,1, 从B 减去10 T2,2, 向A 增加10 对上述子事务没有说明次序; 任何执行都产生正确结果. 作为取消操作的另一种替代做法; 补偿事务处理级联回滚问题. 不是取消失败事务所做的所有更新, 而是采取行动来“补偿”失败. 考虑一个代表旅行预订的长事务Ti , 包括进行航空订票的子事务Ti,1, 预订租车的Ti,2, 预订旅馆房间的Ti,3. 旅馆取消了预订. 不是取消Ti 的所有工作, Ti 3 的失败可通过删除老的旅馆预订并进行一次新的预订来补偿. 需要使用失败事务的语义. 为使长事务度过系统崩溃, 我们不但必须将对数据库的改变记入日志, 还必须将与这些事务有关的内部系统数据的变化记入日志. 将更新记入日志被物理大数据项(CAD 设计, 文档正文)搞得更加复杂; 不希望既存储旧值又存储新值. 减少因确保大数据项的可恢复性而带来的开销有两种方法: 操作记入日志. 只有在数据项上执行的操作和数据项名称被存储在日志中. 记入日志与影子分页. 对小数据项用日志; 对大数据项用影子分页. 只有被更新页需要存储在副本中. 局部事务由每个局部DBMS执行, 不受MDBS系统控制. 全局事务在多数据库系统控制下执行. 局部自治 – 局部DBMS间不能直接通信来同步全局事务的执行, 而多数据库系统对局部事务的执行也没有控制权. 局部并发控制方案需要确保DBMS的调度是可串行化的 在封锁情况下, DBMS必须能够防止局部死锁. 需要另外的机制来确保全局可串行性 DBMS确保局部局部事务间的可串行性, 包括那些作为全局事务的一部分的事务. 多数据库系统单独确保全局事务之间的可串行性 – 忽略局部事务导出的次序. 2LSR 不能确保全局可串行性, 然而它能满足强正确性的要求. 1. 保持由给定约束集合规定的一致性 2. 保证每个事务读取的数据项集合是一致的 全局读协议: 全局事务可以读但不能更新局部数据项; 局部事务不能存取全局数据. 在局部和全局数据项之间没有一致性约束. 局部读协议: 局部事务对全局数据可以读取; 不允许全局事务对局部
显示全部
相似文档