数据库之事务阅读总结

 
事务的并发执行,事务中所有数据项的读写必须与事务串行执行的结果一样。并发的事务会产生以下问题:
1、饿死:例如一堆事务一直对一个数据项申请共享锁,而有一个事务T1申请排他锁,那么T1由于无法后去到排它锁而饿死。解决方案:按锁的申请顺序获得锁。
2、死锁
3、可恢复性(详细见《数据库系统概念P414》)
4、无级联性(详细见《数据库系统概念P414》)
保证可事务串行化的协议有:两阶段提交锁协议、基于图的协议、基于时间戳的协议、基于有效性检查的协议,多粒度和多版本机制(多版本时间戳协议和多版本两阶段封锁)
两阶段封锁协议:保证冲突可串行化、不保证死锁、无级联和可恢复性。严格两阶断封锁协议,只有在事务提交之后才能释放排他锁,可以保证事务无级联性。强两阶断封锁协议不允许在事务提交之前释放任何锁。

猜你喜欢

转载自chenghao666.iteye.com/blog/2404580
今日推荐