论文部分内容阅读
随着信息时代的深化发展,人们对数据安全性的需求日益增强,因此数据库系统需要提供有效的机制对存贮其中的数据进行保护,尤其是当数据库因某种难以避免的错误而丢失数据的时候,需要尽快将数据库系统恢复到安全的状态中。 本文对数据库系统的恢复技术进行探讨,阐述在大规模并发数据库的环境下实例恢复技术的实现方法以及通过并行来提高恢复性能的技术。讨论的范围包括数据库正常运行期间各模块的工作机制和为了记录恢复信息所做的准备工作,还包括恢复系统的基本设计原理以及实现技术,并对恢复效率瓶颈进行分析,提出优化方案的理论、设计思路以及实现方案。 首先从数据库恢复系统相关的数据结构开始,除介绍日志记录、日志缓冲区、事务和数据缓冲区等基本结构以及先写日志原则和检查点机制等实现原则外,还对它们的设计原则和不同的设计方式对恢复系统的设计产生的影响进行了对比;然后介绍了Pearlmv数据库存储引擎的实现方式,包括恢复相关模块与机制设计、基本的恢复流程以及在此基础上初步的优化策略,并对恢复系统的性能进行了简要分析,提出了恢复的性能瓶颈在于Redo阶段;之后对Redo阶段进行了深入分析,提出了三种优化方法,并实现了记录Lsn策略下的并行Redo技术,讨论并行Redo的具体策略以及日志缓存的预取方法,并对它的性能进行了理论分析;最后通过实验对比验证了数据库恢复性能的提高程度是符合理论分析结果的,使用优化手段后的数据库实例恢复功能使得系统崩溃后具有更快的系统启动时间。