我正在谷歌阅读冲突可串行化和序列化.
但我没有得到正确的定义以及可序列化和冲突可串行化之间的区别.
我只得到一件事.那就是冲突可串行化意味着可序列化.
在许多事情上,他们告诉大多数可序列化和冲突序列化是相同的.
任何人都可以通过示例解释什么是可序列化冲突和可序列化与可序列化之间的区别.
谢谢你提前!
最佳答案 我的问题找到了答案.
Serializable意味着事务以串行方式完成.这意味着如果调度完成,但事务不使用相同的变量进行读写.
例:-
T1 T2
Read(X)
Read(y)
Write(X)
Write(Y)
在此示例中,两个事务不使用共享变量.
所以,在这里没有冲突.
冲突可序列化是指同时完成的事务.这两个事务使用相同的变量,事务的输出是冲突的.
例:-
T1 T2
Read(X)
Read(X)
Write(X)
Write(X)
Read(Y)
Write(Y)
Read(Y)
Write(Y)
在此示例中,两个事务T1和T2使用相同的变量.
因此,事务T2在T1写入之前写入X.在T1写入X之后.在这里没有使用事务T2写入.这是冲突可串行化.