数据库系统工程师_06事务和锁.doc
《数据库系统工程师_06事务和锁.doc》由会员分享,可在线阅读,更多相关《数据库系统工程师_06事务和锁.doc(7页珍藏版)》请在课桌文档上搜索。
1、第六讲 事务和锁61 事务611 事务定义1事务是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。例:如银行转帐。612 SQL中事务的定义事务以Begin transaction开始,以Commit work或 Rollback work结束。Commit work表示提交,事务正常结束。Rollback work表示事务非正常结束,撤消事务已做的操作,回滚到事务开始时状态。613 事务概念例:银行转帐:事务T从A过户50¥到B。T:read;A := A 50;write; read;B := B + 50;write;read:从数据库传送数据
2、项X到事务的工作区中。write:从事务的工作区中将数据项X写回数据库。614 事务特性ACID1原子性事务中包含的所有操作要么全做,要么全不做。原子性由恢复机制实现。2一致性事务的隔离执行必须保证数据库的一致性。事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态。数据库的一致性状态由用户来负责。如银行转帐,转帐前后两个金额之和应保持不变。3隔离性系统必须保证事务不受其它并发执行事务的影响。对任何一对事务T1,T2,在T1看来,T2要么在T1开始之前已经结束,要么在T1完成之后再开始执行。隔离性通过并发控制机制实现。4持久性一个事务一旦提交之后,它对数据库的影响必须是永
3、久的。系统发生故障不能改变事务的持久性。持久性通过恢复机制实现。活动状态失败状态部分提交状态提交状态中止状态初始状态事务无法继续正常执行事务回滚,数据库恢复到事务开始前状态最后一条语句被执行后成功完成,永久写入数据库事务是恢复和并发控制的基本单位。保证事务ACID特性是事务处理的重要任务。62 数据库故障621 故障种类1事务部故障事务部故障有些是可以通过事务程序本身发现,有些是非预期的。2系统故障3介质故障622 故障恢复技术1建立冗余数据A、数据转储 I、静态转储 II、动态转储B、登录日志文件:必须遵循两大规则:登记次序严格按并发事务的时间顺序。必须先写数据后写数据库。 I、以记录为单位
4、 a、各个事务的开始 b、各个事务的结束 c、各个事务的所有更新 d、各个事务的所有更新 II、以块为单位 a、事务标识 b、操作类型insert,delete,update c、操作对象 d、更新前数据的旧值对插入操作而言,此项为空值 e、更新后的新数据对删除操作而言,此项为空值2利用冗余数据实施数据库恢复A、事务故障恢复:反向扫描B、系统故障恢复:正向扫描C、介质故障恢复:需要DBA介入623 具有检查点的恢复技术624 数据库镜像63并发执行631 并行 Vs 串行1基本比较A、并行事务会破坏数据库的一致性。B、串行事务效率低。2并行的优点A、一个事务由不同的步骤组成,所涉及的系统资源也
5、不同。这些步骤可以并发执行,以提高系统的吞吐量。B、系统中存在着周期不等的各种事务,串行会导致难于预测的时延。如果各个事务所涉及的是数据库的不同部分,采用并发会减少平均响应时间。3核心问题:在保证一致性的前提下最大限度地提高并发度。632 并发操作带来的问题T1T2T1T2T1T2ReadReadReadReadReadC:=c*2A:=A-1C:=a+bWriteWriteReadA:=A-2B:=B*2RollbackWriteWriteReadReadReadC:=a+b1丢失修改 2不可重复读 3读脏数据污读633 导致的原因并发操作破坏了事务的隔离性,并发操作就是要用正确的调度并发操
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 工程师 _06 事务

链接地址:https://www.desk33.com/p-26267.html