Database Note

数据库冷知识

并发协议

协议 事务间冲突时 死锁 需维护的时间戳与版本 饿死 级联回滚
两阶段封锁协议 two-phase locking 阻塞 无或回滚(取决于具体的机制) 事务的时间戳(取决于死锁机制),事务重启时间戳不变 按队列授予锁时无 提交后释放锁时无
时间戳排序 timestamp-ordering 回滚,存在饿死时阻塞 读取该数据最大事务时间戳与写时间戳,事务重启使用新的时间戳 存在 存在
有效性检查 validation 终止,存在饿死时阻塞 事务开始时间戳、开始检查时间戳、提交时间戳 存在
多版本时间戳排序 multiversion timestamp-ordering 回滚 事务开始的时间戳,版本序列与读取各版本最大的事务时间戳与写时间戳 存在 存在

JDBC

SQL

隔离级别与并发协议

Spring事务管理