A
precedence graph, also named
conflict graph and
serializability graph, is used in the context of
concurrency control in
databases.
The precedence graph for a schedule S contains:
- A node for each committed transaction in S
- An arc from Ti to Tj if an action of Ti precedes and conflicts with one of Tj's actions.
Precedence graph example
| Time
| T1
| T2
| T3 |
| 1
| read(A)
|
| |
| 2
|
| write(A)
| |
| 3
|
| Commit
| |
| 4
| write(A)
|
| |
| 5
| Commit
|
| |
| 6
|
|
| write(A) |
| 7
|
|
| Commit |
A precedence graph of 3 transactions. As there is a cycle, this schedule (history) is not Conflict serializable.
External links