Recently I've been having lectures about the transactions. One slide of the power point confused me for a long time. I've been understand that serializable means that two transactions could be parallel executed and result will be same as they have been executed serially right? And I've also read the definition for serial operation from Berkeley which I quote "The easiest way to ensure isolation is to run all the operations of one transaction to completion before beginning the operations of next transaction. This is called a serial schedule". So base on above, I'm super confused that how could a schedule be serial but not serializable??? I mean, isn't this basically saying that I am a human but I cannot be a human??
And I've confirmed with the professor multiple times that this statement is correct from his perspective.
Please help me understand! Thanks!
The problem is the non-serializable schedule is not visualized.
Lets look at the outcome of the interleaved schedule as depicted above:
The following serial schedule has an identical outcome:
Because of this, the interleaved schedule is considered serializable.
However, the following interleaved schedule is non-serializable: