用于分布式数据库系统的快速崩溃恢复技术方案

技术编号:12566088 阅读:61 留言:0更新日期:2015-12-23 09:57
一种分布式数据库系统可实施快速崩溃恢复。在从数据库头节点故障恢复之后,可与存储用于数据库的数据的分布式存储系统的一个或多个存储节点建立连接,所述数据库由所述数据库头节点实施。在与所述存储节点建立所述连接之后,可使得所述数据库可供用于访问,如用于各种访问请求。在各种实施方案中,可不重播重做日志记录以便对所述数据库提供访问。在至少一些实施方案中,响应于请求,所述存储节点可提供存储用于所述数据库的数据的当前状态。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】用于分布式数据库系统的快速崩溃恢复背景在一些情况下,软件堆栈的各种部件的分布可提供(或支持)容错性(例如,通过复制)、较高耐久性、和较不昂贵的解决方案(例如,通过使用许多较小的、较不昂贵的部件,而不是较少大型的、昂贵的部件)。然而,在历史上数据库已经是至少服从分布的软件堆栈的部件。例如,可能难以分布数据库同时仍确保期望它们提供的所谓ACID特性(例如,原子性、一致性、隔离性、和耐久性)。尽管大部分现存的相关数据库未被分布,使用两个常用模型中的一个来“向外扩展”(与通过仅采用较大单片系统的“向上扩展”相反)一些现存的数据库无共享”模型和“共享磁盘”模型。一般来说,在“无共享”模型中,接收的查询分解成数据库碎片(其中的每一个包括查询部件),这些碎片被发送至不同的计算机节点用于查询处理,并且在它们返回前收集和集合结果。一般来说,在“共享磁盘”模型中,群集中的每个计算机节点访问相同的基础数据。在采用这个模型的系统中,必须非常小心以便管理高速缓存一致性。在这两个模型中,在多个节点(包括单机数据库实例的所有功能性)上复制大型、单片数据库,并且添加“胶合”逻辑以便将它们缝合在一起。例如,在“无共享”模型中,胶合逻辑可提供分配器的功能性,所述分配器使查询细分、将它们发送至多个计算机节点、以及随后组合结果。在“共享磁盘”模型中,胶合逻辑可用来将多个节点的高速缓存融合在一起(例如,以便管理在高速缓存层处的一致性)。部署这些“无共享”和“共享磁盘”数据库系统可能花费较大,并且维持起来较复杂,以及它们可能过度服务许多数据库使用情况。【附图说明】图1为示出根据一个实施方案的数据库软件堆栈的各种部件的框图。图2为示出根据一些实施方案的服务系统架构的框图,所述服务系统架构可被配置来实施基于网络服务的数据库服务。图3为示出根据一个实施方案的数据库系统的各种部件的框图,所述数据库系统包括数据库引擎和独立分布式数据库存储服务。图4为示出根据一个实施方案的分布式数据库优化存储系统的框图。图5为示出根据一个实施方案的数据库系统中的独立分布式数据库优化存储系统的使用的框图。图6为示出根据一个实施方案的可将数据和元数据存储在分布式数据库优化存储系统的给定节点上的方式的框图。图7为示出根据一个实施方案的数据库容量的示例性配置的框图。图8为示出根据一些实施方案的用于在分布式数据库系统中的系统范围检查点避免的方法的流程图。图9A为展示根据一些实施方案的执行用于分布式数据库系统的快速崩溃恢复的方法的一系列图示。图9B为示出根据一些实施方案的执行用于分布式数据库系统的快速崩溃恢复的方法的流程图。图9C为示出根据一些实施方案的在所恢复数据库中处理访问请求的方法的流程图。图10为示出根据各种实施方案的被配置来实施数据库系统的至少一部分的计算机系统的框图,所述数据库系统包括数据库引擎和独立分布式数据库存储服务。虽然在本文中通过列举若干实施方案和示意性附图的实例的方式描述了实施方案,本领域的技术人员应认识到,实施方案并不限于所描述的实施方案或附图。应理解,附图和对其的详细描述并非意图将实施方案限于所公开的特定形式,而是相反,其意图在于涵盖落入由所附权利要求书所界定的精神和范围内的所有修改、等同物以及替代方案。本文中使用的任何标题都仅用于组织目的,并且并不意图用于限制描述或权利要求书的范围。贯穿本申请所使用的词语“可以”是在许可的意义上(即意指具有可能性)、而非强制的意义上(即意指必须)使用。词语“包括(include/including/includes) ”指示开放性关系并且因此意味着包括但不限于。类似地,词语“具有(have/having/has)”也指示开放性关系,并且因此意味着具有但不限于。本文使用的术语“第一”、“第二”、“第三”等用作它们后面的名词的标签,并且不暗示任何类型的排序(例如,空间、时间、逻辑等),除非这种排序另有明确说明。各种部件可被描述为“被配置来”执行一个或多个任务。在这类情况下,“被配置来”是一般意味着“具有在操作过程中执行一个或多个任务的结构”的宽泛叙述。因此,部件可被配置来执行任务,即使是部件当前并未执行所述任务时(例如,计算机系统可被配置来执行操作,即使是所述操作当前并未被执行时)。在一些情况下,“被配置来”可以是一般意味着“具有在操作过程中执行一个或多个任务的电路系统”的结构的宽泛叙述。因此,部件可被配置来执行任务,即使是所述部件当前并未开启时。一般而言,形成对应于“被配置来”的结构的电路系统可包括硬件电路。为了方便描述,各种部件可被描述为执行一个或多个任务。这些描述应被解释为包括短语“被配置来”。叙述被配置来执行一个或多个任务的部件明确地意图不援引美国法典第35章第112条第六段对所述部件的解释。“基于.”如本文所使用,此术语用于描述影响确定的一个或多个因素。此术语不排除可能影响确定的另外因素。也就是说,确定可仅仅是基于这些因素,或至少部分地基于这些因素。考虑短语“基于B确定A”。尽管B可能是影响A的确定的因素,但是这种短语不排除也基于C确定A。在其他例子中,可仅基于B来确定A。本公开的范围包括本文公开的任何特征或特征的组合(明确地或含蓄地)或其任何概括,无论它是否缓解了本文所提出的任何或所有问题。因此,在本申请(或要求其优先权的申请)的审理过程中可以就特征的任何此类组合制定新的权利要求书。具体地,参考所附权利要求书,来自从属权利要求的特征可与独立权利要求的特征相结合,并且来自相应独立权利要求的特征可以任何适当的方式而不是仅仅以所附权利要求书中列举的具体结合来组合。【具体实施方式】本专利技术公开分布式数据库系统的系统范围检查点避免的各种实施方案。在一些实施方案中,分布式存储系统的存储节点可从数据库系统接收一个或多个重做日志记录,所述一个或多个重做日志记录链接至存储在存储节点上的特定数据页面。数据页面可以是存储用于数据库的数据的多个数据页面中的一个。至少部分地基于链接至特定数据页面的一个或多个重做日志记录,可检测特定数据页面的合并事件。可执行合并操作以将一个或多个日志记录应用至先前存储版本的特定数据页面,以产生在它的当前状态下的特定数据页面。本专利技术公开用于分布式数据库系统的快速崩溃恢复的各种实施方案。在一些实施方案中,数据库系统头节点可执行故障恢复操作。在从系统故障恢复之后,可与存储用于数据库的数据的分布式存储系统的存储节点建立连接。在一些实施方案中,在与存储节点建立连接之后,数据库头节点可使得数据库可供用于访问。在至少一些实施方案中,可接收一个或多个访问请求,并且可从存储节点请求和接收一个或多个数据页面的当前状态。本说明书首先描述被配置来实施系统范围检查点避免(例如,创建、删除、使用、操纵等)和快速崩溃恢复技术的示例性基于网络服务的数据库服务。示例性基于网络服务的数据库服务的描述中包括示例性基于网络服务的数据库服务的各个方面,如数据库引擎和独立分布式数据库存储服务。本说明书随后描述用于系统范围检查点避免和快速崩溃恢复的方法的各种实施方案的流程图。接下来,本说明书描述可实施所公开的技术的示例性系统。在整个说明书中提供各种实例。在一些实施方案中,本文中描述的系统可实施网络服务,所述网络服务使得客户端(例本文档来自技高网...

【技术保护点】
一种系统,其包括:多个存储节点,所述多个存储节点实施分布式存储系统,其中所述分布式存储系统被配置来实施用于数据库的日志结构化数据存储,其中先前已经在所述多个存储节点处从数据库系统接收多个重做日志记录,其中所述重做日志记录中的每一个描述对存储在所述多个存储节点之中、用于所述数据库的数据的改变;数据库头节点,所述数据库头节点实施所述数据库系统,其中所述数据库头节点被配置来执行故障恢复操作以:与所述多个存储节点建立连接;并且在与所述多个存储节点建立所述连接之后,针对一个或多个访问请求对所述数据库提供访问。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:A·W·古普塔L·D·伯彻尔P·J·马德哈瓦拉普N·法罕
申请(专利权)人:亚马逊科技公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1