我对"并发"和"事务"比较陌生,对于乐观并发控制中的后向/前向验证感到有些困惑。以后向验证为例,假设Tv是正在验证的事务,Ti是已提交的事务。我想知道为什么我们只检查Tv的读取集合和Ti的写入集合。为什么不检查Tv的写入集合和Ti的写入集合以及Tv的写入集合和Ti的读取集合呢?因为写-写和写-读也是冲突操作...任何解释都将不胜感激!
我对"并发"和"事务"比较陌生,对于乐观并发控制中的后向/前向验证感到有些困惑。以后向验证为例,假设Tv是正在验证的事务,Ti是已提交的事务。我想知道为什么我们只检查Tv的读取集合和Ti的写入集合。为什么不检查Tv的写入集合和Ti的写入集合以及Tv的写入集合和Ti的读取集合呢?因为写-写和写-读也是冲突操作...任何解释都将不胜感激!
Tv的后向验证:
Tv的前向验证:
Tv的写入集与所有重叠活动事务的读取集进行比较;
与后向验证不同,在前向验证中有选择要中止哪个事务(Tv或任何冲突的活动事务)的选项;