在数据库理论中,“冲突可序列化”和“冲突等效”有什么区别?
我的教科书有一个关于可序列化冲突的部分,但掩盖了冲突等价性。这些可能都是我熟悉的概念,但我不熟悉术语,所以我正在寻找解释。
DBMS 中的冲突可以定义为两个或多个不同的事务访问同一变量,并且其中至少一个是写操作。
例如:
T1: Read(X)
T2: Read (X)
在这种情况下,不存在冲突,因为两个事务都只执行读取操作。
但在以下情况下:
T1: Read(X)
T2: Write(X)
有冲突。
假设我们有一个时间表S
,我们可以对其中的指令重新排序。并创建另外 2 个计划S1
and S2
.
冲突当量: 指的是时间表S1
and S2
他们维护两个时间表中冲突指令的顺序。例如,如果T1
必须阅读X
前T2
writes X
in S1
,那么它应该是相同的S2
还。 (仅应为冲突的操作保留顺序)。
可串行化冲突: S
如果冲突相当于串行调度(即事务一个接一个地执行),则称其为冲突可串行化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)