数据库(一)

事务

事务的ACID特性:
原子性;持久性;隔离性;一致性
保证事务隔离性的机制:并发机制
并发机制的两种方式:两阶段封锁和快照隔离
1:基于锁的协议

两阶段封锁协议:每个事务分两个阶段提出加锁和解锁的申请
阶段1:增长阶段:事务可以获得锁,但是不能释放锁
最初,事务处于增长阶段,事务根据需要获得锁,一旦事务释放了锁,就进入了缩减阶段,并且不能再发出加锁请求。事务最后加锁的位置称为封锁点,事务可以根据封锁点来进行排序,这个顺序就是事务的一个串行化顺序
阶段2:缩减阶段:事务可以释放锁,但是不能获得新锁

严格两阶段锁协议:避免两阶段锁出现的级联回滚现象,提出严格两阶段锁,要求事务所持有的所有排它锁必须在事务提交后才可以释放,避免该事务所写的数据在该事务提交之前被其他事务访问

强两阶段锁协议:在严格两阶段锁的基础上,不允许事务释放任何锁,保证事务按照提交的顺序可串行化。

事务日志记录类型:T,Start,T,commit,T,abort

redo操作:把事务更新过得数据值都置成新值
undo操作:把事务更新过得所有数据值都恢复成旧值,undo也会留下redo-only日志记录执行的更新

关于检查点(checkpoint)
在日志中加入checkpoint,对于在考察点前完成的事务来说,checkpoint必在Commit或者abort之后,所以此时不需要对事务载执行redo。对于在checkpoint写入日志之后才开始执行的事务进行undo或者redo操作
没有commit或者abort,执行undo操作
有commit或者abort,执行redo操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值