文档介绍:IBM DB2 UDB 系统管理
Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer
第九章数据并发性
并发和并发控制
锁的概念,模式,及兼容性
隔离级的概念及使用
Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer
并发和并发控制-案例
l 并发:多个用户或应用同时竞争同一资源
l 并发控制:
用正确的方式调度并发操作,使一个用户事务的
执行不受其它事务的干扰,从而避免造成数据的
不一致性
l 并发机制的好坏是衡量一个DBMS性能的重要标
志之一
l DBMS并发控制是以事务为单位进行的
Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer
并发和并发控制-案例
l 飞机订票系统中的一个活动序列:
①售票员甲读出某航班的机票余额设
②售票员乙读出同一航班的机票余额也为
③甲售票点卖出一张机票,修改余额=
④甲售票点卖出一张机票,修改余额=)
l 结果:卖出两张机票,而数据库中余额只减少
l 原因:甲乙售票员并发操作导致数据不一致!
Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer
并发和并发控制
l 并发操作造成的数据不一致情况包括四类:
u 丢失更新Lost data due to Concurrency Updates
Ø 当两个事务读取相同数据时,并修改保存,后一个成功的数据
修改会保留,前一个被覆盖
u 未提交读(Access to mitted Data)
Ø 当事务读取未提交的数据时,发生;如:事务修改了一行
数据,事务在提交事务之前,读取了被修改行,若
回滚了修改操作,则读取的数据可以看作从未存在过的数
据。
Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer
并发和并发控制
l 并发操作造成的数据不一致情况包括四类:
u 不可重复读(Unrepeatable Reads)
Ø 在同一事务中,两次读取同一行数据,得到不同的结果集;
原结果集的行被更新或删除
如:事务读取了一行数据,事务在删除或更改该行后提交
了修改,则当事务再次读取该行时,得到不同的值
u 幻象读(Phantom Read Phenomenon)
Ø 在同一事务中,同一查询执行两次,返回结果可能新增了
一些行其他行被更改满足查询条件或插入新行而满足条件
Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer
锁的概念
l 加锁是实现并发控制的一个非常重要的技术
l Locking
某一事务T在对某个数据对象如表、记录等操作
之前,先向系统发出请求,对其加锁保护,在事
务T释放它的锁之前,其他事务就不能更新此数
据对象
Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer
锁的对象
Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer
锁的策略
严格表锁:
只对表进行加锁,
表中所有的行都受到同
等程度的影响。
表锁+ 行锁
对表加锁后,相应
的数据行上还要加锁
Create PDF with GO2PDF for f