验证阶段也称为乐观并发控制技术。在基于验证的协议中, 交易在以下三个阶段执行:
- 读取阶段:在此阶段, 事务T被读取并执行。它用于读取各种数据项的值并将它们存储在临时局部变量中。它可以对临时变量执行所有写操作, 而无需更新实际数据库。
- 验证阶段:在此阶段, 将根据实际数据验证临时变量值, 以查看其是否违反了可序列化性。
- 写入阶段:如果验证了事务验证, 则将临时结果写入数据库或系统, 否则回滚事务。
Start(Ti):它包含Ti开始执行的时间。
验证(Ti):它包含Ti完成其读取阶段并开始其验证阶段的时间。
【DBMS基于验证的协议】Finish(Ti):它包含Ti完成其写入阶段的时间。
- 该协议用于使用验证阶段的时间戳来确定要序列化的事务的时间戳, 因为它是确定事务将提交还是回滚的实际阶段。
- 因此, TS(T)=验证(T)。
- 可序列化性是在验证过程中确定的。无法事先决定。
- 在执行事务时, 它可以确保更高程度的并发程度以及更少的冲突数量。
- 因此, 它包含回滚次数较少的事务。
推荐阅读
- DBMS视图可序列化
- DBMS时间戳排序协议
- DBMS三种架构架构
- DBMS Thomas的写入规则
- DBMS第三范式(3NF)
- DBMS可串行性测试
- DBMS静态哈希解释
- DBMS事务状态介绍
- DBMS SQL中的视图