C - ARIES与优化排名检索算法解析
1. C - ARIES算法概述
C - ARIES是ARIES恢复算法的多线程版本,旨在以高度并发的方式执行事务中止和崩溃恢复。它通过按页执行事务中止以及崩溃恢复的重做(Redo)和撤销(Undo)阶段来实现并发,还包含了一些额外的增强功能,可减少数据库系统从崩溃中恢复的时间,并缩短数据库不可用于正常处理的时长。
2. C - ARIES的数据结构
在分析阶段收集的数据会存储在以下数据结构中:
|数据结构|描述|字段|
| ---- | ---- | ---- |
|事务状态表(Transaction Status Table)|确定自上次检查点后某个时间点处于活动状态的所有事务的最终状态,用于判断对数据库所做的更改是应保留还是丢弃| - TransId:活动事务的标识符
- Status:事务的状态,可能的值为Active、End和Commit。状态为‘Active’的事务被声明为失败事务(Loser Transaction,LT),其他事务为成功事务(Winner Transactions,WTs)|
|页面链接列表(Page Link List)|为每个修改过的页面提供记录的链表,用于在重做阶段向前遍历日志| - 对于有CLR、SCR或ULR记录的每个页面,创建一个包含所有修改该页面的LSN的有序列表|
|页面起始列表(Page Start List)|确定每个页面从何处开始恢复| - PageId:页面标识符。在正向扫描日志时,算法首次遇到页面Pj的日志记录时,会为页面Pj创建一个页面起始列表条目。该列表记录了在恢复的重做和撤销阶段要访问的所有页面|
|页
超级会员免费看
订阅专栏 解锁全文
906

被折叠的 条评论
为什么被折叠?



