事务与并发控制:原理、应用与优化策略
1. 事务执行与并发控制基础
1.1 严格事务执行
在事务处理中,为避免脏读和过早写入,通常要求事务延迟读写操作。当服务将对象的读写操作延迟,直至之前写入该对象的所有事务提交或中止时,这种事务执行方式被称为严格执行。严格执行能确保事务的隔离性,是事务处理的重要基础。
1.2 临时版本
为使可恢复对象的服务器参与事务,需设计成在事务中止时可移除对象的更新。为此,事务期间的所有更新操作都在易失性内存中的对象临时版本上进行。每个事务都有其修改对象的私有临时版本集,更新操作将值存储在该私有集中,访问操作优先从私有集获取值,若没有则从对象中获取。只有在事务提交时,临时版本才会转移到对象中,并记录到永久存储中,此过程会排除其他事务对被修改对象的访问。若事务中止,其临时版本将被删除。
2. 嵌套事务
2.1 嵌套事务概念
嵌套事务扩展了传统事务模型,允许事务由其他事务组成。在一个事务中可启动多个子事务,使事务可被视为按需组合的模块。最外层事务称为顶级事务,其他事务为子事务。例如,顶级事务 T 可启动子事务 T1 和 T2,T1 又可启动其子事务 T11 和 T12 等。
2.2 子事务特性
子事务在事务失败和并发访问方面对其父事务呈现原子性。同一级别的子事务可并发运行,但对公共对象的访问需序列化,可通过锁机制实现。每个子事务可独立于其父事务和其他子事务失败,当子事务中止时,父事务有时可选择替代子事务完成任务。
2.3 嵌套事务与扁平事务对比
与扁平事务(所有工作在同一级别完成
订阅专栏 解锁全文
960

被折叠的 条评论
为什么被折叠?



