1.为什么需要并发控制?
当多个用户操作同一数据时,如果不加以控制。可能会存取不正确的数据。破坏数据库的数据、数据库的一致性。
2.事务是并发控制的基本单位。
3.为了保证事务的隔离性以及一致性。数据库需要对并发操作进行正确的调度
4.并发操作的不正确调度带来的问题以及解决方案:
带来的问题 | 解释 | 解决方案 |
丢失修改 | 多个事务对同一数据对象的写操作,导致前一个事务的值被后一个事务的值覆盖 | 遵循一级封锁协议 |
不可重复读 | 事务在读取数据时,同时有事务操作了此数据。导致事务再一次读取时无法重现之前的值 | 遵循三级封锁协议 |
脏读 | 事务在读取数据时,由于某原因,数据被撤销。导致读到的值与数据库的值不一致 | 遵循二级封锁协议 |
5.并发控制的几种技术:
封锁、时间戳、乐观控制法、多版本并发控制。
6.两种封锁:
7.封锁协议:
8.活锁以及死锁
9.死锁地预防:
10.死锁的诊断:
11.死锁的解除:
选择一个处理死锁代价最小的事务,将其撤销,释放其持有的锁,使其他事务得以继续运行
12.可串行化调度
多个事务并发执行是正确的,当且仅当其结果与按某一次序串行的执行这些事务时的结果相同,称这种调度策略为可串行化调度
13.可串行性是并发事务正确调度的准则。
14.两段锁协议:
15.事务遵循两段锁协议是可串行化调度的充分条件。冲突可串行化调度是可串行化调度的充分条件。
16.意向锁:
如果对一个节点加锁,则需要对它的上级加意向锁。
17.冲突可串行化: 一个调度,将任意两个相邻的不冲突操作交换位置。使操作后的序列 可串行化。
Copyright © 2023 leiyu.cn. All Rights Reserved. 磊宇云计算 版权所有 许可证编号:B1-20233142/B2-20230630 山东磊宇云计算有限公司 鲁ICP备2020045424号
磊宇云计算致力于以最 “绿色节能” 的方式,让每一位上云的客户成为全球绿色节能和降低碳排放的贡献者