第八章 事务管理(并发控制技术3)
第八章 事务管理(并发控制技术3)
时间戳排序协议
快照隔离
基于有效性检查的协议
时间戳排序协议
时间戳
对于系统中的每一个事务Ti,把一个固定的时间戳和它联系起来,记为 TS(Ti):
系统时钟,该事务进入系统的时间
逻辑计数器,该事务进入系统的计数器值
事务的时间戳决定了串行化的顺序。
![image-20211109144509320](https://img.cxgang.top/i/master/img/20211109144515.png)
1)时间戳协议的规则?
一调度如下图,时间戳分别为 1, 2, 3, 4, 5
![image-20211109145021876](https://img.cxgang.top/i/master/img/20211109145030.png)
2)时间戳排序协议有什么特点?
为一有向图:顶点代表事务,每条弧描述一个冲突
操作; Ti->Tj表示Ti和 Tj为冲突操作,且Ti先于Tj。
时间戳协议的调度可恢复吗?
3)时间戳排序协议有什么缺点?如何解决?
时间戳协议能防止级联回滚吗?
快照隔离
- 快照隔离的基本思想是什么?
快照隔离是在事务开始执行时给它数据库的一份快照。
事务在该快照上操作,和其他并发事务完全隔离。
快照中的数据值仅包括已经提交的事务所写的值。
对只读事务来说是理想的,不需要等待。
更新事务,需要在更新写入数据库之前,处理与其他并发更新的事务之间存在的潜在冲突。
2.基于快照隔离,更新事务是如何操作的 ?
课堂小测试
![image-20211109150605725](https://img.cxgang.top/i/master/img/20211109150619.png)