PART5TRANSACTIONMANAGEMENTC,Pascalprograms词法/语法/语义分析中间代码生成(中间)代码优化目标代码生成程序编译/编译程序执/OS进程管理&进程调度并发控制死锁处理query扫描和语法/语义分析查询优化(优化后)查询执行计划查询代码生成Queryprocessing/DBMSprocess/thread事务处理/DBMSChapter.13,14Chapter.15,16,17transaction关系代数表达式&查询树查询计划执行的代码事务管理目标程序代码(§14)&事务调度并发控制死锁处理恢复技术(§13)(§15)(§16)(§17)Fig.13.0.1May2009DatabaseSystemConcepts-Chapter15Transactions-3DBS中,从DBMS的角度,用户对DB的访问体现为DBS中1个或多个事务的执行事务是DBS中应用程序/数据库应用系统的基本逻辑单位,也是DBMS管理DBS运行的基本单位,§15.1多用户DBS中,多个用户对DB的并发访问体现为DBS中多个数据库事务的并发执行事务是动态的,具有一定生命周期事务具有多种状态,事务的执行体现为各状态间的转换过程,§15.2,Fig.15.1IntroductiontoPart5May2009DatabaseSystemConcepts-Chapter15Transactions-4在DBS中,事务执行时,特别是当多个事务对共享数据进行并发访问时,为维护DBS系统中数据的正确性(integrities),事务必须满足一定的约束条件,表现为事务的4个基本特征(ACID),§15.1原子性(atomicity),一致性(consistency),独立性/隔离性(isolation),永久性/持续性/操作结果永久保持性(durability)DBMS中的recovery-managementcomponent负责保障事务的原子性。§15.3,§17事务设计者/DBS应用程序编程者负责保障事务的一致性(P611)IntroductiontoPart5(cont.)May2009DatabaseSystemConcepts-Chapter15Transactions-5DBMS中的concurrency-controlcomponent负责保障事务的独立性。§16DBMS中的recovery-managementcomponent负责保障事务的永久性。§15.3,§17当DBS中存在多个并发事务时,DBMS通过事务调度对各事务进行并发控制(§15.4),以保证并发事务的运行结果正确性DBMS中的concurrency-controlcomponent依据事务调度可串行性(Serializability)的基本原理,对事务进行并发控制和调度,§15.5,15.6,15.7IntroductiontoPart5(cont.)May2009DatabaseSystemConcepts-Chapter15Transactions-6具体实现技术包括基于锁的并发控制技术(§16.1)、基于时间戳的并发控制技术(§16.2)、基于验证的并发控制技术(§16.3)、多版本控制(§16.5)、多粒度控制技术(§16.4)此外,DBMS的...