首页 > 知识点讲解
       冲突可串行化
知识路径: > 数据库技术 > 事务管理 > 数据库的并发控制 > 并发操作、并发调度与并发控制 > 并发调度的可串行性 > 
相关知识点:3个      
        冲突(conflict):当Ii和Ij是不同事务在相同的数据项上操作的命令,且至少有一个是write命令时,则称Ii与Ij是冲突的。
        考虑某调度S中含有分别属于事务Ti、Tj的两条命令Ii、Ijij)。若Ii、Ij分别访问不同的数据项,则交换Ii、Ij的执行次序不会影响调度执行的结果。若Ii、Ij访问相同的数据项,则Ii、Ij的执行次序可能会影响调度执行的结果。在此只讨论read和write命令在以下四种情况时Ii、Ij是否可交换:
        (1)Ii=read(D),Ij=read(D)。在调度S中,Ii与Tj读到的是相同的数据D值,交换Ii、Ij的执行次序不会影响执行的结果。
        (2)Ii=read(D),Ij=write(D)。在调度S中,若Ii先于Ij执行,那么Ii没有读到Ij写回的D值,可见Ii、Ij的执行次序是非常重要的。
        (3)Ii=write(D),Ij=read(D)。在调度S中,Ii、Ij的执行次序是非常重要的,其原因与(2)类似。
        (4)Ii=write(D),Ij=write(D)。由于Ii、Ij都是写操作,Ii、Ij的执行次序对Ii、Tj没有影响,但是,若调度S中的下一条命令是read(D),那么读取的值会受到影响,因为数据库中只保留了后一条write命令写入的值。
        等价调度:设Ii与Ij是调度S的两条连续的命令,若Ii与Ij是不同事务的命令且不冲突,则可以交换Ii与Ij的顺序得到一个新的调度S*。我们称S与S*是等价的。
        
        事务的并发调度
        例如,考虑上图(a)调度S3,由于T1的write(A)与T0的read(B)不冲突,可以将T1的write(A)与T0的read(B)的执行次序交换,得到另一个等价调度S5,如下图所示。
        
        调度S5
        继续依次交换非冲突命令的执行顺序:
        ①T0的read(B)与T1的read(A)执行次序交换。
        ②T0的write(B)与T1的write(A)执行次序交换。
        ③T0的write(B)与T1的read(A)执行次序交换。
        经过上述一系列交换后得到的是一个如下图(a)所示的串行调度S1。这也说明了调度S5等价于一个串行调度,所以是一个正确的调度。请思考为什么调度S4是一个错误的调度。
        
        事务的串行调度
        冲突等价(conflict equivalent):如果调度S经过一系列非冲突命令交换成S*,则称S与S*是冲突等价的。
        冲突可串行化(conflict serializable):若调度S与一个串行调度S*冲突等价,则S是冲突可串行化的。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有