恢复数据库的页面的制作方法

文档序号:9221623阅读:525来源:国知局
恢复数据库的页面的制作方法
【专利说明】
【背景技术】
[0001]数据库可以存储在具有一个或多个存储设备的存储系统中。存储设备的示例可以包括基于盘的存储设备、集成电路存储设备等等。
[0002]由于存储设备的故障所引起的数据丢失是关注点。为了解决存储设备的故障的可能性,可以实施数据库中数据的备份。备份可以包括全备份,其中数据库的整体被拷贝到备份存储系统。备份还可以包括差异或增量备份,其中只有自从上一次备份以来已经改变的数据库数据被拷贝到备份存储系统。由于数据库的大小已经增加,与实施备份操作以及还原操作(从数据备份中还原数据)相关联的时间可能是相对长的。
【附图说明】
[0003]关于以下各图描述了一些实施例:
图1是包括数据库系统和用以备份数据库系统的数据的备份系统的示例布置的框图; 图2是根据一些实现方式的还原操作的流程图;
图3是根据另外的实现方式的在瞬时还原过程中的数据库系统和备份存储系统的操作的示意图;以及
图4是根据另外的实现方式的在数据库管理模块、瞬时还原模块和备份存储系统之中的交互的示意图。
【具体实施方式】
[0004]与从数据库的备份拷贝中恢复相对大的数据库相关联的挑战是还原操作可能花费相对长的时间来完成。因而,在用于存储数据库的系统中的至少一个存储设备的故障之后,在还原操作完成的延长的时间段内用户可能不能够访问数据库。
[0005]根据一些实现方式,提供“瞬时”还原以允许在还原操作的完成之前访问数据库,所述还原操作被实施来从用于存储数据库的存储介质的至少一个存储设备的故障中还原数据库。数据库可以指代在表中存储数据的关系数据库。可替换地,数据库可以指代能够存储根据其它格式的数据或者非结构化(没有根据任何指定格式或方案而被结构化)的数据的数据储存库。
[0006]数据库的瞬时还原使得数据库在还原操作的完成之前可用。注意到,术语“瞬时”不必意指数据库在存储介质故障之后立即可用。相反,术语“瞬时”被用于表明在存储介质故障之后数据库的可用性与利用传统还原技术而可用相比更快。
[0007]利用根据一些实现方式的瞬时还原过程,在存储介质故障之后以及在还原操作的完成之前,事务可以访问已经被存储在出故障的存储介质上的数据。事务可以指代读取和/或写入数据库的数据的任何数据操作。可以响应于来自用户、应用或另一实体的请求而发起事务。
[0008]能够运行的事务可以包括再继续(resumed)的事务、新事务以及重新开始的事务。新事务是在存储介质故障之后所发起的那些事务。再继续的事务是在存储介质故障之前活动地执行的那些事务。这样的活动事务在检测到存储介质故障时可以被暂停,并且可以在瞬时还原过程中再继续。重新开始的事务是在存储介质故障之前活动地执行并且被异常结束(abort)并且然后在存储介质故障之后重新开始的那些事务。
[0009]由于在还原操作的完成之前使得数据库可用,所以事务可以遇到作为在存储介质故障之前由事务所进行的改变的主体的数据库页面。当遇到任何这样的页面时,页面可以单独地按需恢复。数据库的“页面”可以指代数据库的任何分段。在一些示例中,数据库的页面可以由分层次索引(诸如B树索引)的节点表示。B树索引包括节点的分层次布置,其包括根节点、中间节点以及在B树索引底部的叶节点。每个叶节点表示数据库的相应页面。中间节点可以各自与键(key)范围相关联;给定中间节点的子节点与给定中间节点的键范围内的键相关联。键包括数据库中的数据记录的至少一个属性。作为示例,如果数据库包含涉及公司雇员的数据记录,那么数据记录的属性可以是雇员标识符。
[0010]在其它示例中,数据库的页面可以以不同的方式表示。
[0011]根据一些实现方式的还原操作因而是瞬时、按需的还原操作,其中在出故障的存储设备的内容的整体的还原完成之前使得数据库可用于事务,并且每当事务请求这样的单独页面时可以按需恢复数据库的单独的页面。如果事务请求了尚未还原的数据库页面或者与尚未回滚的出故障的事务冲突,那么单独页面重做恢复或单独事务撤销恢复(以下进一步讨论)可以按需运行以确保替代存储介质(其替代出故障的存储介质)上的相应页面看似最新并且在线,即使那仅对替代存储介质上的一些页面是真实的。
[0012]图1是包括数据库系统102和备份存储系统104的示例布置的框图。数据库系统102包括存储介质106,其可以用一个或多个存储设备来实现,诸如基于盘的存储设备(例如,磁性或光学盘驱动装置)、集成电路存储设备(例如,闪速存储器设备、电池支持的随机存取存储器设备、相变存储器设备等)等等。存储介质106存储作为数据库的部分的数据库页面108。如以上所指出的,数据库页面108可以是B树索引的部分,或者可以是另一数据结构的部分。
[0013]存储介质106还可以存储恢复或事务日志110,其记录已经对数据库中的数据做出改变的事务。恢复日志可以指代任何数据结构,包括一个或多个文件或(多个)其它数据容器。恢复日志I1持久地存储在存储介质106中,以使得恢复日志110将会是可用的,即使数据库系统102将遭受系统崩溃或以其它方式被重置。通过在恢复日志中记录事务,那些事务可以通过从恢复日志中重放事务而被重复,如果故障出于任何原因而阻止了它们的完成的话。注意到,用于存储事务恢复日志的(多个)存储设备可以不同于用于存储数据库内容的(多个)存储设备。
[0014]数据库系统102还包括数据库管理模块112,其包括在数据库系统102的一个或多个处理器114上可执行的机器可读指令。数据库管理模块112能够管理数据库109的访问(读取访问或写入访问)。
[0015]数据库系统102还包括网络接口 116以允许数据库系统102通过网络118而通信。
[0016]客户端设备(未示出)能够通过网络118而访问数据库系统102。由客户端设备所提交的查询被数据库管理模块112接收,所述数据库管理模块112可以发布事务以访问由查询所请求的数据。
[0017]而且,备份存储系统104通过网络118而连接到数据库系统102。备份存储系统104包括备份存储介质120,其可以利用一个或多个存储设备(诸如基于盘的存储设备、集成电路存储设备等)来实现。备份存储介质120可以存储全备份数据122 (其中全备份是数据库系统102中的数据库的所有数据库页面108的备份)、增量备份数据124 (其中增量备份是自从之前的备份以来所改变的数据的备份)以及其它信息。注意到,恢复日志110的拷贝也可以被提供在备份存储介质120中。还注意到,用于存储事务恢复日志的(多个)备份存储设备可以不同于用于存储数据库内容的(多个)备份存储设备。另外,数据库系统102和备份存储系统104可以可能地驻留在(多个)相同的物理系统上,尽管它们在图1的示例中被绘制为分离的组件。
[0018]备份存储系统104还包括备份控制模块131,所述备份控制模块131管理备份存储介质120中数据的访问。备份控制模块13
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1