文件系统的redo undo机制

文件系统的redo和undo机制类似于数据库中的redo和undo机制。要理解该机制,首先要明白什么是log。1 log记录数据修改情况的结构就是日志(log)。log是log entry的序列,记录了所有的更新活动。一个更新日志记录(update log record)描写了一次数据的写操作。记事务为T,常见的日志记录类型如下:<T,start> 事务T已经开始<...
摘要由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一定要从前往后按顺序执行。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值