- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[]第7章 并发控制 V13
电子科技大学 计算机学院
胡旺
scuhuwang@126.com
2018年2月18日星期日
《数据库原理及应用》
第7章 并发控制
本章内容
I/O与CPU等可以并行交叉运行
并发执行的优点
改善系统的资源利用率
减少短事务的等待时间
调度(schedule)
一个或多个事务的操作按时间排序的一个序列。
事务并发
一个事务的两个操作在调度中出现的顺序必须与其在事务内定义的先后顺序一致。
本章内容
读脏数据(dirty read)
脏数据(dirty data)是对未提交事务所写数据的统称。
并发问题
若脏读就造成了数据库的不一致状态,应严格禁止。
若脏读带来的影响足够小,偶尔可读一次脏数据,它可以提高并发性,减少事务的等待时间
不可重复读(unrepeatable read)
并发问题
事务T1的两次读取数据之间,其它事务修改了它要读取的数据,以致两次读到的值不同
在事务串行执行时,不会出现此现象
丢失更新(lost update)
并发问题
由两个事务对同一数据并发地写入引起
本章内容
回顾:事务ACID特性中的隔离性?
可串行化
事务在运行中不受其它事务干扰的方法:
串行:
每个事务依次顺序执行
并行但控制:
事务之间并发执行,DBMS调整事务的调度,使其运行结果与一次只执行一个事务的结果相同
串行调度:不同事务的活动在调度中是一个接一个执行的,没有交叉的运行。
可串行化
串行调度
两个串行调度的结果不同。但只要保持了数据库的一致性,最终的结果并不重要
可串行化调度
调度是可串行化的:多个事务交叉调度的结果与某一个串行调度的结果相同
DBMS认为事务串行调度的结果保持了数据库的一致性,都是正确的
一个调度如果是可串行化的,系统认为其调度是一个正确的调度,保持了数据库的一致性
可串行化
可串行化调度
并行调度与串行调度的结果相同,因此该调度是可串行的调度
DBMS需要事务调度管理
如果将事务的并发执行完全交给操作系统,则任何一种调度方式都有可能出现。
有的调度能保持数据库的一致,有的调度却会产生错误的结果。
DBMS必须对事务的运行加以控制,确保交叉调度完毕后的结果与某一串行调度的结果相同,数据库不会出现不一致的状态。
可串行化
可串行化调度
两个调度的结果不一致,是一个不可串行化的调度。
简记符号
WRITE简写为W,
READ简写为R,
WT(X):事务T写数据库元素X,
RT(X):事务T读数据库元素X,
S表示一个调度。
调度(事务序列)表示:
S = R1(A) R2(A) W1(A) W2(A) R2(B) R1(B) W2(B) W1(B)
可串行化
调度表示
指令冲突性
读相同数据:不冲突
若事务Ti 和Tj都是读取数据A,则Ri(A),Rj(A)指令不发生冲突。
读写相同数据:冲突
若事务Ti 和Tj一个是读数据,一个是写数据,则事务的执行顺序是重要的。Ri(A)和Wj(A)指令是冲突的。
写相同数据:冲突
若事务Ti 和Tj都是写数据A,则Wi(A)和Wj(A)指令也是冲突的。
读写不同数据:不冲突
示例
S = R1(A) R2(A) W1(A) W2(A) R2(B) R1(B) W2(B) W1(B)
T2事务的READ(A)与T1事务的WRITE(A)是冲突指令
T1事务的READ(A)与T2事务的READ(A)指令是不冲突。
可串行化
指令冲突
调度中两个事务发生冲突,必须:
对同一数据对象进行操作
两个操作指令中有一个是写操作W
冲突等价:
若调度S中属于不同事务的两条操作指令是不冲突的,则可以交换两条指令的执行顺序,得到一个新的调度S′。称调度S与调度S′冲突等价的(conflict equivalent)。
冲突可串行化:
若一个调度冲突等价于一个串行调度,则该调度是冲突可串行化的。
示例
调度S= R1(A) W1(A) R2(A) W2(A) R1(B) W1(B) R2(B) W2(B)
R1(B)与W2(A)指令不冲突,可以交换执行顺序;
R1(B)与R2(A)指令不冲突,可以交换执行顺序;
W1(B)与W2(A)指令不冲突,可以交换执行顺序;
W1(B)与R2(A)指令不冲突,可以交换执行顺序。
调度S’= R1(A) W1(A) R1(B) W1(B) R2(A) W2(A) R2(B) W2(B)
可串行化
指令冲突
调度S’是一个串行调度。
调度S等价于串行调度S’,是冲突可串行化的。
冲突可串行是可串行性的充分条件
可串行化
指令冲突
调度运行结果与串行调度T1→T2→T3的运行结果是一致的,但调度不是冲突可串行的
视图等价
对同一事务集,如果两个调度S1和S2在任何时候都保证
您可能关注的文档
- []电控自动变速器的检测诊断第三章全1.ppt
- []现代设计史之新艺术运动一.ppt
- []电子商务安全操作任务书.doc
- []电磁场.ppt
- []直销培训Wscar.ppt
- []知名化妆品策划.ppt
- []田园诗情.ppt
- []矿用机车第一讲.ppt
- []科学家的故事1.ppt
- []社会主义建设在探索中曲折发展SELF.ppt
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 燃气管道及附属设施作业活动风险管控清单.pdf VIP
- 2025至2030年贵州省煤炭工业投资分析及前景预测报告.docx
- 党政领导干部拟任县处级资格考试试题及答案.docx VIP
- 2023广东清远市清城区总工会招聘3人考试备考题库及答案解析.docx VIP
- 个人信息保护影响评估报告(模板).docx VIP
- 2025党政领导干部拟任县处级资格考试试题及答案.pdf VIP
- 2025中核集团2026届提前批校园招聘笔试备考题库及答案解析.docx VIP
- 2024广东清远市清城区总工会招聘2人笔试备考试题及答案解析.docx VIP
- (2024秋新版)人教版七年级数学上册全册PPT课件.pptx
- 关于绑架的小故事-绑架关起来的故事.docx VIP
文档评论(0)