版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南阳师院第十三届“张衡杯”大学生课外学术科技作品竞赛申报作品一种内存数据库快速日志恢复技术研究姓 名: * * *学 号:12345678900专 业:网络方向院 系:计算机与信息技术学院指导老师:* * *摘要恢复技术是保证内存数据库运行可靠的关键,传统的基于日志的恢复技术会对系统性能产生很大的负面影响。针对此提出了内存数据库系统快速日志恢复技术,它控制日志的产生数量,使得在系统崩溃并重新启动时,能以最快的速度恢复到系统崩溃 前的最近一致点上。关键字:内存数据库;日志恢复;检查点Quickly Log Recovery Technology Of MMDBHu Hui hui(.Colleg
2、e of Computer and In formati on Tech no logy, Nanyang Normal Uni versity,Nanyang 473061, Chi na;2.College of Compuert Scie nee and Tecno logy,Beiji ng Un iversity ofTec nology,Beiji ng,100022,Chi na)AbstractThe recovery tech no logy is a key to en sure running credibility of MMDB,the traditi on reco
3、very tech no logy is based on log may raise the effect on system performa nee. This paper puts force the a quickly log recovery tech no logy。 It con trols log qua ntity and recovers the system to the n earest breakdow n point as fast as it can, whe n system breaks dow n and restarts.Key Words: MMDB;
4、 log recover; checki ng poi nt.目录引言内存数据库(MMD)把数据全部或者当前工作部分驻留在内存中,消除了传统磁 盘数据库系统中I/O瓶颈,提高了系统的性能和吞吐量,但是由于所有操作都作用于 内存数据库的主拷贝上,数据库极易遭到操作系统和应用软件造成的破坏,因此MMDB 的恢复技术十分关键。日志(Logging)恢复是传统的MMD恢复技术之一,它能满 足当前MMDB!统对事务响应和快速系统恢复的要求,但是在大量事务吞吐量情况下 造成的日志暴增带来很大问题,会对 MMD性能产生很大影响2。本文提出MMD系统快速日志恢复技术,它是在不阻碍系统正常运行的情况下, 控制日
5、志的产生数量,使得在系统崩溃并重新启动时,能以最快的速度恢复到系统崩溃 前的最近一致点上1系统构架设计快速恢复模型的整体架构如图1所示。事务处理模块负责根据用户请求产生事务, 并由事务管理器调度。事务管理器将负责各个事务的日志记录, 交给日志产生规则处 理。检查点模块根据日志产生规则产生的日志数量动态调整检查点启动时间。当日志记录数达到一定值时,检查点程序启动。它读取所有日志记录,交给日志筛选器。 日志筛选器根据筛选算法,从当前所有日志项中筛选出实际有效的日志记录, 并将这 些有效日志记录交给日志分发结点。日志分发结点主要做两项工作:第一是它将日志 传送给日志磁盘管理器,由其负责将日志回写到日
6、志磁盘上, 第二是日志分发结点将 日志传送给备份更新发生器。备份更新发生器利用快速恢复算法,触发各类更新操作, 根据日志更新磁盘上的数据。该快速恢复模型具有如下的特点: 快速恢复模型以日志驱动方式做检查点,异步更新磁盘上的备份数据镜象。 系统只维护全局Redo日志,以Redo日志来驱动备份更新发生器,各个事务维 护私有Redo日志和Un do日志在事务提交时将私有 Redo日志写入全局Redo日志中事务发生器事务i管理器日志产生规则日志 分发亠快速 恢复 算法结点日志 回写-!归档磁盘j“日志磁盘事务处理检查点处理日志筛选算法图i快速恢复模型的整体架构 使用日志筛选算法,近一步减少 Redo日
7、志的数量,提升检查点程序的性能。 备份数据镜象只反应已提交事务的更新状态,因此在系统重载时不需要回退未 提交的事务。 快速恢复算法为并发重载算法。在系统恢复过程中,能继续接受新事务的请求2快速日志驱动检查点快速日志驱动检查点的基本思想是,检查点程序仍然由日志来驱动,根据读取到的日志项来更新数据镜象上的内容,维持数据镜象与内存中数据库的基本同步。但是, 与以往日志驱动检查点算法不同的是,它通过日志产生规则和日志筛选算法两个策略 克服了以往日志驱动检查点算法中日志数量可能过快增长的问题 呵02.1日志产生规则快速日志驱动检查点算法中设立的日志产生规则是:系统中日志被分为全局日志和私有日志两类。系统
8、只维护全局Redo日志,而不维护Undo日志,由事务自身维护 私有的Redo日志和Undo日志。在事务提交时,依照事务提交的先后顺序,将事务的 私有Redo日志添加到全局Redo日志中。因此,在事务运行过程中,会产生 Redo日 志和Un do日志。Redo日志用于在系统恢复过程中,重做已提交事务。而 Un do日志 用于在事务Abort时回退事务,或者在系统恢复过程中回退未提交的事务。 如果恢复 模型的设计能够保证系统恢复过程中,没有需要回退的未提交事务,那么系统只需要 读取Redo日志而不需要读取Un do日志。因而系统只需要维护全局的 Redo日志,而 不需要维护Undo日志,将Undo
9、日志交给事务自身维护,Undo日志只用于事务自身 Abort时回退。这样就可以减少全局日志的总量。图2具体描述了全局日志和私有日志的使用。在事务 T1, T2, T3的内存空间内, 各自维护自己的私有 Redo日志和Un do日志。在非易失性内存(SRA M上,MMD系统 开辟全局Redo日志缓冲区,让事务在提交时事务的私有 Redo日志写入该缓冲区。检 查点程序将定期读取日志缓冲区中的数据,将日志写入磁盘,并驱动检查点程序更新磁盘镜象数据。Redo全局日志缓冲区事务 T1事务 T2事务 T3私有日志图2全局日志和私有日志各事务将按如下阶段操作日志: 事务启动时,需要在事务的各自空间内建立私有
10、Redo日志和私有Undo日志,并将在私有Redo日志中与入事务启动记录 事务运行过程中,事务的每次更新操作,需要在私有Redo日志中添加Redo记录,并在私有Un do日志中添加Undo记录。 事务提交时,需要按如下步骤完成:向事务的私有Redo日志内添加事体Commit记录。将事务的私有Redo日志写入全局Redo日志中。释放事务的私有Redo日志和私有Undo日志,释放事务所占用的其他资源,完 成提交。 事务Abort时,需要按照如下步骤完成:事务反向扫描私有Un do日志,回退事务的更新操作。释放事务的私有Redo日志和私有Undo日志,释放事务所占用的其他资源,结 束事务。由此可见,
11、事务只在提交时才将私有 Redo日志写入全局日志缓冲区。从而也保证 了检查点程序运行时,只看到己提交事务的Redo日志,磁盘上的数据镜象也只反映已提交事务的更新操作。2.2日志筛选算法用日志产生规则能明显减少日志产生的数量,但是在更新事务吞吐量较大的情况 下,检查点程序从全局日志缓冲区读取 Redo日志时,仍然可能会面对Redo日志量过 大的问题,产生的原因是这样的:如果对一份数据做两次更新操作,那么两个事务 各自产生一条对同一物理地址上值更新的物理日志,但只有第2次更新事务产生的日志为有效的。本文利用日志筛选算法来避免日志量过大问题,该算法认为,当LOG1(T1,addr,valuel )和
12、LOG2(T2, addr, value2 )按照事务的提交顺序通过日志 筛选器时,当T1的提交时间在T2提交时间前,那么只有LOG2( T2, addr, value2 ) 被认为是有效,而 LOGI (T1,addr,valuel )被忽略。日志筛选器需要关注物理日 志中被修改值的地址的相关性。对相同修改地址的物理日志依据日志的提交顺序进行 筛选,该算法的示意图如图3所示。为加快日志的筛选速度,将全日志缓冲区划分为 多个区域,这将日志记录中操作地址具有空间相关性的日志按照所属事务的提交顺序 聚合在一个区域内,能加速日志筛选算法的筛选速度。 使得在筛选过程中,只需在小 范围内(也就是一个区域
13、)搜索可以被筛选的日志。当全局 Redo日志缓冲区中的某 一个区域满时,就唤醒检查点程序,将这一区域中的Redo日志写入日志磁盘,并驱动备份更新发生器更新磁盘上的数据镜象。T(1)Page 3T(1)Page 5T(1)Page nT Commit事务T(1)日志序列日志检查 与分配T(1) Page 3T(m)page 0T(1) Page 5T(m)page 0aT(1) Page nT(k) page maPage (03)Page (47)Page (nn+3)Page (kk+3)全局Redo日志缓冲区图3志筛选算法3快速恢复算法在系统崩溃后,MMD系统需要通过恢复过程,将数据库恢复
14、到崩溃前的最近一致 点上。在系统恢复过程中,重载程序将数据从磁盘镜象上加载到MMD系统中,同时根据日志,重做(Redo)或者取消(UndO部分事务,来恢复数据库的一致性。快速恢复算法如下: 当系统崩溃重启时,先启动日志检查和分配程序,检查非易失性内存(SRAM中提供给事务提交时用于写入私有 Redo日志的缓冲区中是否有完整写入的 Redo日 志。如果有完整的Redo日志,则日志检查和分配程序将这些完整的日志分配到全局 Redo日志缓冲区的不同区域中。 统计全局Redo日志缓冲区中的日志数量,并标记这些日志。当前Redo日志缓冲区中的日志将被用于恢复内存中 MMD系统的一致性,同时也要用于维护磁
15、盘上数 据镜象的一致性。 恢复程序从磁盘数据镜象上加载一些重要的系统表以后,MMD系统可以启动,并可以接受新事务的请求。系统的正常事务处理和系统恢复过程同时进行。 触发检查点程序从全局 Redo日志缓冲区中读取日志,驱动备份更新发生器更新磁盘上的数据镜象。在这个过程中,驱动备份更新发生器向缓冲区管理区询问将被更 新的记录所在的镜象数据页面是否已经被加载到内存中。如果己经被加载,则不但需要更新磁盘上的镜象数据页,还需要更新内存中的数据页面。如果全局Redo日志缓冲区中所有被标记的日志都已经被用于驱动备份更新发生器,那么此时备份更新发生器可以告诉重载程序恢复工作已经完成,没有其他镜象页面需要更新。
16、 MMD在接受新事务的请求时,对于事务所访问到的数据,如果数据还没有被加载到内存中时,则系统向重载程序要求将所需数据从磁盘镜象上加载到内存中。 此时, 重载程序先要检查要求加载的数据页面是否会被备份更新发生器修改。 如果是,则需 要等待备份更新发生器更新镜象页面后再加载到内存中,否则就直接将镜象页面加载 到内存中。 当所有镜象都加载完成后,MMD系统恢复过程结束。4结束语恢复技术是保证内存数据库运行可靠的关键技术。传统日志恢复技术由于存在产 生过多不必要的日志的缺点,对系统性能带来负面影响。本文研究了一种新的日志恢 复技术来尽可能的减少日志数量,并在此基础上提出了快速日志恢复算法, 此恢复技
17、术算法简单可以大大的节约系统的资源。 然而,内存数据库恢复是一个十分复杂而庞 大的技术,所以该方法还有待完善。参考文献1 刘云生,潘琳实时数据库系统的内存数据库组织与故障恢复J.小型微型计算机系统.2005,22(5) :611-613.2 刘云生,廖国琼,付蔚 .一个支持实时内存数据库的恢复系统J.小型微型计算机系统.2003,24(3):460-4643 SONGGH, YANHCS, SHIJY.ZEDB : An in-memory database system for real-time message processing applications A.Proc of the 6th Int Conf on Computer Aided Design & Computer Graphics (CAD/CG99)C. Sha nghai: Wen Hui Publishers 199
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026秋季国家管网集团福建公司高校毕业生招聘考试备考试题(浓缩500题)含答案详解(综合题)
- 2026年秦皇岛市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(完整版)
- 2026秋季国家管网集团山东分公司高校毕业生招聘考试备考题库(浓缩500题)及答案详解1套
- 2025国网甘肃省电力校园招聘(提前批)笔试模拟试题浓缩500题含答案详解(培优a卷)
- 国家管网集团2026届高校毕业生招聘考试备考题库(浓缩500题)及答案详解(历年真题)
- 2026届国家管网集团高校毕业生招聘考试参考题库(浓缩500题)带答案详解(巩固)
- 2026国网山西电力校园招聘(提前批)笔试模拟试题浓缩500题附答案详解ab卷
- 2026秋季国家管网集团山东分公司高校毕业生招聘笔试备考题库(浓缩500题)及参考答案详解(巩固)
- 2026国家管网集团高校毕业生招聘笔试备考题库(浓缩500题)带答案详解
- 2026国家管网集团广西公司秋季高校毕业生招聘笔试模拟试题(浓缩500题)附参考答案详解(b卷)
- 2025至2030国内外骨骼机器人行业发展趋势分析与未来投资战略咨询研究报告
- 护理服务标准:提升护士工作质量和患者满意度的指南
- 皮内注射课件教学
- 2025至2030中国建筑装配行业项目调研及市场前景预测评估报告
- 布鲁氏杆菌课件
- 老年多病共治患者的VTE防治管理建议 2
- 华为就业面试题目及答案
- 2025年行政窗口办事员考试题库及答案
- 征信培训案例课件
- ai用于英语教学课件
- 2025至2030中国汽车主动健康监测系统行业项目调研及市场前景预测评估报告
评论
0/150
提交评论