冲突操作对(Conflicting actions)是指来自不同事务的两个操作,它们满足以下条件:
- 两个操作属于不同的事务。
- 两个操作访问同一个数据项。
- 这两个操作中至少有一个是写操作。
因此,可能构成冲突操作对的类型包括:
- 一个事务的读操作(R)与另一个事务的写操作(W)针对同一个数据项(R-W 冲突)。
- 一个事务的写操作(W)与另一个事务的读操作(R)针对同一个数据项(W-R 冲突)。
- 一个事务的写操作(W)与另一个事务的写操作(W)针对同一个数据项(W-W 冲突)。
来自不同事务的两个读操作(R-R)访问同一个数据项不构成冲突操作对,因为它们不会影响数据的一致性状态。
理解冲突操作对对于判断调度的 冲突可串行化 性(Conflict Serializable)和 冲突等价(Conflict Equivalent)非常重要。