欢迎来到天天文库
浏览记录
ID:39714633
大小:485.99 KB
页数:76页
时间:2019-07-09
《Data Concurrency and Locking》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数据并发性和锁定IBM信息管理云计算能力中心IBM(加拿大)研究院1©2011IBMCorporation议题事务并发性和锁定锁等待死锁2©2011IBMCorporation议题事务并发性和锁定锁等待死锁3©2011IBMCorporation什么是事务(事务)?A的银行帐户B的银行帐户余额=$1000余额=$200从A帐户划拨$100到B帐户:-从A的银行帐户借记$100(减$100)-向B的银行帐户贷记$100(加$100)4©2011IBMCorporation什么是事务?(续)一个或多个SQL语句,它们在一起被视为一个单元也被
2、称为工作单元(UOW)一次事务A起始于任何SQL语句,结束于COMMIT(落实)或ROLLBACK(回滚)COMMIT语句使得修改对数据库永久生效ROLLBACK语句逆转所做的修改COMMIT语句和ROLLBACK语句释放所有的锁5©2011IBMCorporation事务示例第一个SQL语句启动事务INSERTINTOemployeeVALUES(100,'JOHN')INSERTINTOemployeeVALUES(200,'MANDY')COMMIT由于ROLLBACK,没有产生任何变化DELETEFROMemployeeWHER
3、Ename='MANDY'UPDATEemployeeSETempID=101wherename='JOHN'ROLLBACKUPDATEemployeeSETname='JACK'whereempID=100COMMIT没有什么可以回滚的ROLLBACK6©2011IBMCorporation事务–ACID规则Atomicity(原子性)事务中的所有语句被视为一个单元。如果事务成功完成,所有的东西都被落实。如果事务失败,截至失败点的所有东西都回滚。Consistency(一致性)任何事务都将把数据从一个一致的状态带入另一个状态,因此,
4、只有有效的一致数据被存储在数据库中。Isolation(隔离)并发事务不能相互干扰。Durability(持久性)已经落实的事务应当使它们的修改在数据库中持久存在。7©2011IBMCorporation议题事务并发性和锁定锁等待死锁8©2011IBMCorporation并发性和锁定应用AIDNameAge应用3Peter33B5John23应用C22Mary22应用35Ann55D并发性:多个用户同时访问相同的资源锁定:用于确保数据完整性和一致性的机制9©2011IBMCorporation锁定根据需要自动获得锁,以便根据隔离级别支
5、持事务“”COMMIT和ROLLBACK语句释放所有的锁两个基本类型的锁:共享锁(S锁)–当一个应用希望读取某一行并阻止其他应用更新该行时获得的锁排他锁(X锁)–当一个应用更新、插入或删除某行时的锁10©2011IBMCorporation如果没有并发控制,将会出现的问题丢失更新未落实的读(UncommittedRead)不可重复读(Non-RepeatableRead)幻影读(Phantomread)11©2011IBMCorporation丢失更新reservationsseatname...7C_____7B_____...应用A
6、应用B12©2011IBMCorporation丢失更新reservationsseatname...7C_____7B_____...应用A应用Bupdatereservationssetname='John'whereseat='7C'13©2011IBMCorporation丢失更新reservationsseatname...7CJohn_____7B_____...应用A应用Bupdatereservationssetname='John'whereseat='7C'14©2011IBMCorporation丢失更新reser
7、vationsseatname...7CJohn_____7B_____...应用A应用Bupdatereservationsupdatereservationssetname='John'setname='Mary'whereseat='7C'whereseat='7C'15©2011IBMCorporation丢失更新reservationsseatname...7CJohnMary_____7B_____...应用A应用Bupdatereservationsupdatereservationssetname='John'setna
8、me='Mary'whereseat='7C'whereseat='7C'16©2011IBMCorporation丢失更新reservationsseatname...7CJohnMary_____?7B
此文档下载收益归作者所有