Can anybody plz help me in finding out the difference between two concepts:
serializibility and conflict serializibility.
what I know is:
serializibility :a schedule that produces the same results as a serial schedule. when concurrent transactions take place then the schedule no longer remains a serial one. so to check whether the transcations are excuted properly without any update loss we need this concept.
conflict serializibility: a schedule is conflict serializibable if it is conflict equivalent to a serial schedule.
(conflict equivalent : a schedule s when transformed into a schedule s' by a series of swaps of nonconflicting transactions then we say that s ans s' are conflict equivalent.)
can anyone help me in bringing out the difference?
Two or more actions are said to be in conflict if:
The actions belong to different transactions.
At least one of the actions is a write operation.
The actions access the same object (read or write).
The following set of actions is conflicting:
T1:R(X), T2:W(X), T3:W(X)
While the following sets of actions are not:
T1:R(X), T2:R(X), T3:R(X)
T1:R(X), T2:W(Y), T3:R(X)
The schedules S1 and S2 are said to be conflict-equivalent if the following conditions are satisfied:
Both schedules S1 and S2 involve the same set of transactions (including ordering of actions within each transaction).
The order of each pair of conflicting actions in S1 and S2 are the same.
A schedule is said to be conflict-serializable when the schedule is conflict-equivalent to one or more serial schedules.
Another definition for conflict-serializability is that a schedule is conflict-serializable if and only if there exists an acyclic precedence graph/serializability graph for the schedule.