文件系统的redo undo机制

文件系统的redo和undo机制确保了数据一致性。延迟修改技术在事务提交后执行write,而立即更新技术需要redo和undo操作。checkpoint用于减少恢复成本,并发事务恢复时需保持数据锁定并遵循特定顺序。
摘要由CSDN通过智能技术生成

文件系统的redo和undo机制类似于数据库中的redo和undo机制。要理解该机制,首先要明白什么是log。

1 log

记录数据修改情况的结构就是日志(log)。
log是log entry的序列,记录了所有的更新活动。一个更新日志记录(update log record)描写了一次数据的写操作。
记事务为T,常见的日志记录类型如下:

  • <T,start> 事务T已经开始
  • <T,X,V1,V2> 事务T对X进行写操作,V1为X初始值,V2为X更新值
  • <T,commit> 事务T已经提交
  • <T,abort> 事务T已经中止
    每次事务执行写操作之前,必须就已经建立该次写操作的日志记录。
    对log的恢复,一般采用两种技术:延迟修改技术(deferred-modification technique)和立即更新技术(immediate-modification technique)。

1.1 延迟修改技术

延迟修改技术是通过将write操作拖延到事务提交时才执行,来保证事务的原子性。即,在<T,commit>之后,才向持久性内存中写数据。
对于日志中,只要事务提交了,即<T,commit>就要进行redo,未提交则无需做任何处理。并且redo一定要从前往后按顺序执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值