Database system concept笔记(4)

(Transaction多么屌的一个词啊,本小白大学理解了4年都没理解透彻,事务?尼玛还是别翻译啦吧...)
Transaction不解释了,我觉得也解释不明白自己wiki吧

主要解决两个问题:1、系统crash或failure的控制。2、多事务并发执行。

由此引发的几方面要求(ACID):
1、atomicity原子性(其实应该是夸克吧...)
2、durabiliy持久性(transaction完成update的操作后,就得必须负责维护)
3、consistency一致性
4、isolation独立性(既要并发还有一致)

要保证AD两种特性,数据库系统中使用了recovery-management组件

schedule来维护所有的transaction的指令顺序,保证serializable、recoverable、cascadeless才能保证并发性
conflict serializable 保证有conflict的地方串行
view serializale 包含前者,自行wiki吧

Transaction在工作时分为以下的状态:
1、active 初始状态;executing保持这个状态
2、partially committed 所有的statement都执行完之后的状态
3、failed 正常的execution无法继续
4、aborted 在transaction回滚之后,数据库恢复之前的状态(这是transaction会restart或stop)
5、commited 在完成后

SQL中transaction以commit work或rollback work结束。

你可能感兴趣的:(stuffs)