基于多线程的并行实例恢复方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于多线程的并行实例恢复方法.doc

基于多线程的并行实例恢复方法   摘要:针对数据库实例恢复串行化执行效率低的问题,以神通数据库为基础提出一种基于多线程的并行实例恢复方法。首先,在数据库原有实例恢复模型基础上,增加“构建脏页表”和“脏页预取”两个步骤,得到改进后的实例恢复模型;其次,结合多线程并发处理思想,提出并行实例恢复方法,对改进的实例恢复模型进行并发处理;最后,由于采用回滚段进行undo日志管理,可以实现undo日志的正常数据化管理,提前结束实例恢复。通过进行TPCC(Transaction Processing Performance CouncilC)基准测试,并行实例恢复方法的读取、解析redo日志效率与原有方法相比提高了2~7倍,重做redo日志效率提高了4~9倍,整体所用时间减少为原有方法的20%~40%。实验结果表明,并行实例恢复方法实现了各阶段的并行化,减少了实例恢复所需时间,保证了数据库在实际应用中的高效性。   关键词:实例恢复;并行恢复;多线程;redo日志;undo日志;日志序列号   中图分类号:TP311.13 文献标志码:A   0引言   “棱镜门”事件之后,IOE(IBM Oracle EMC)[1]成为了国家信息安全隐患的代名词。一场关系国家信息安全的变革正在各行各业愈演愈烈。国产化浪潮的缘起,去IOE声浪的高涨,都为国产信息技术(Information Technology, IT)行业的发展提供了大好机遇。越来越多的人们将目光投向国产软件,国产数据库也因此迎来了一个发展良机。   数据库管理技术[2]作为管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,最主要的功能之一是安全可靠地保证数据的正确性、有效性和可用性。但是由于各种原因,数据库中的数据存在着被误删、损坏和篡改的危险,而数据一旦被破坏可能造成无法挽回的损失。因此,如何高效地恢复数据、最大限度减少数据丢失成为当今数据库技术领域的研究热点之一。   目前,关于数据库恢复方面的研究已经很多,主要以基于日志的数据恢复技术为主。文献[3]通过分析实时数据库中的数据特征,将数据划分为不同的种类,再对每类数据采用不同的日志记录策略以提高系统的性能。该策略虽然提出了一种基于实时日志的恢复策略,解决了实时数据库的特殊应用需求,但是并没有针对数据恢复的各阶段缺陷进行有效的性能改进和提升。文献[4-5]通过使用闪存和相变存储器来提高数据读写速度,减少数据库恢复时间,在一定程度上解决了实例恢复效率低的问题,但是没有解决数据恢复过程中遇到的日志查询、日志解析、日志装载等性能低的问题。文献[6-8]使用一个日志分发线程、多个重做线程的模型,基于线程间同步协作完成重现历史操作,缩短了故障恢复时间,但是没有涉及关于多线程日志分析、减少重做日志量的解决策略。文献[9]基于MySQL原有的主从复制技术实现了主从数据库服务器之间数据的实时同步和主从数据库服务器之间的自动切换,保证了数据库的高可用性和高可靠性,但没有针对MySQL的恢复性能进行讨论和研究。文献[10-11]根据嵌入式内存数据库的环境特征和恢复需求,设计了一种基于逻辑日志的嵌入式内存数据库恢复子系统模型,并针对实例恢复的效率和准确性作出了具体研究。   本文以国产神通数据库为依托,提出一种基于数据页的多线程并行实例恢复方法,以满足大型通用数据库对于恢复子系统的高性能需求。多线程并行实例恢复方法通过对于现有的实例恢复方式的分析和研究,针对其串行日志重做、单一数据页装载、冗余重复操作等问题进行了研究和解决。主要内容包括:构建脏页表进行脏页提前预取,合并连续范围页面进行提前装载以提高脏页装载效率;制定多线程并行读取、解析日志策略,实现并行化日志解析;根据脏页表和日志结构特点,提出多线程多队列重做redo日志方法,实现并行化日志重做,解决串行化单一执行的性能缺陷;其次,根据回滚段事务槽信息,按照正常事务并行执行规则,实现未提交事务回滚正常化,提前完成数据库恢复操作;最后通过和原有恢复方法实验对比,证明该恢复机制的可用性和高效性。   1神通数据库存储引擎   神通数据库作为一种操作和管理数据的大型软件,其体系结构主要分为四个部分:通信通讯层、查询处理层、存储引擎层和操作系统(Operating System, OS)层,如图1所示。   通信通讯层负责建立用户和数据库之间沟通的桥梁,通过提供不同的应用程序接口(Application Programming Interface, API)方便用户的访问,把用户的请求转换为可供内部识别的数据结构;查询处理层主要包括查询语法分析、语法重写、查询优化和查询执行等功能,负责将高级数据库语言所表示的查询语句翻译成一系列的操作算子,通过执行操作算子来完成查

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档