当前位置: 首页 > 专利查询>微软公司专利>正文

带有自适应克隆的经聚类的数据库系统中的逻辑复制技术方案

技术编号:6598514 阅读:222 留言:0更新日期:2012-04-11 18:40
本发明专利技术描述了带有自适应克隆的经聚类的数据库系统中的逻辑复制,提出了端到端解决方法的体系结构,用于来自无共享的经聚类的数据库管理系统的逻辑事务复制,该数据库管理系统使用自适应克隆以获得高可用性。使用全局逻辑时间戳,这可以是基于时间的。用于刷新陈旧克隆的所公开的体系结构不保留用户事务边界,这是一种比保留边界的情况更复杂的情况。在该场景中,对于给定的数据段,可能没有一个数据段的克隆包含完整的用户事务历史,并因此需要从多个不同的克隆日志中将历史接合在一起。实现以上动作使得日志获取与克隆状态转变相协调来确保逻辑复制的正确性。

【技术实现步骤摘要】

本专利技术涉及数据库系统中的逻辑复制,尤其涉及带有自适应克隆的经聚类的数据库系统中的逻辑复制
技术介绍
为了使得数据库管理系统更具缩放性,可以按照将多个服务器进程一起用作单个逻辑系统的方式来将多个服务器进程聚类。数据库可被主存在多个节点(服务器)上,其中的每一个主存数据库的零个或多个段。为了分发数据,可以将对象(例如,表或表上的索引)在逻辑上细分成数据段。数据段的物理表现被称为克隆。因此,通过将实体(例如,表、 索引)分成一个或多个逻辑数据段并跨各个节点分发与各逻辑段(克隆)相对应的数据可以实现系统的可缩放性。在这么做的时候,为了使数据高度可用且系统作为一个整体更加容错,可以维护数据的多个冗余副本(每一数据段的多个克隆)。当节点出于故障或有意的管理目的而在在线和离线状态之间移动时,在克隆离线(不可用)的同时发生的更新导致这些克隆可能变得陈旧。灾难恢复(DR)是企业级数据库系统的关键要求。促进灾难恢复通常涉及在地理上分开的多个位置处维护最新的数据库副本。将分布在多个节点上的数据库复制到远程站点的一种初级方法是关闭数据库并将与该数据库相关联的数据复制到远程站点上,从而获得灾难恢复所需的更高效和更有效的技术。虽然该技术能够向远程站点提供与数据库一致的映像,但它涉及数据库停机时间。取决于数据库的大小,该过程是耗时的、低效的、资源密集的且多数时候招致数据损失。此外,使数据库离线,即使很短的时间段也可能是代价极高的且是有问题的。因此,灾难恢复需要更有效和高效的复制策略。
技术实现思路
下面呈现了简化的
技术实现思路
,以便提供对此处所描述的一些新颖实施例的基本理解。本专利
技术实现思路
不是详尽的概述,并且它不旨在标识关键/重要元素或描绘本专利技术的范围。 其唯一的目的是以简化形式呈现一些概念,作为稍后呈现的更详细描述的序言。所公开的体系结构提出了用于无共享(SN)的经聚类的数据库管理系统中的逻辑事务性复制的端到端解决方案,该数据库管理系统使用自适应克隆以获得高可用性。逻辑复制可以在与两个不同的数据库管理系统相关联的两个数据库之间建立。因为在逻辑层, 所以复制是不知道如何将数据存储到源和目标上的。因此,源可以是无共享聚类而目标可以是独立的(未经聚类的)实例。使用全局逻辑时间戳的逻辑复制可以是基于时间的。克隆是在聚类中维护数据的冗余副本的过程。克隆可以采用主要克隆以及一个或多个次要克隆。自适应克隆意味着当主要克隆变为不可用(例如,由于服务器故障/关闭) 时,将最新的次要克隆切换成在线来变为主要克隆。因为该切换通常是非常快速的操作,所以不会损害数据的可用性。另外,可以拆分和/或合并克隆来动态地对系统进行负载平衡。用于刷新陈旧克隆的所公开的体系结构不保留用户事务边界,这是一种比保留边界的情况更复杂的情况。在该场景中,对于给定的数据段,可能没有一个数据段的克隆包含完整的用户事务历史,并因此需要从多个不同的克隆日志中将历史接合在一起。实现以上动作从而将日志获取与克隆状态转变进行协调来确保逻辑复制的正确性。为了实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。 这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其它优点和新颖特征将变得显而易见。附图说明图1示出根据所公开的体系结构的计算机实现的数据库管理系统。图2示出数据库管理系统的其他细节。图3示出关于获取自适应克隆中出现的多个日志流的时间和活动表。图4示出根据所公开的体系结构的计算机实现的数据库管理方法。图5示出了图4的方法的其它方面。图6示出了图4的方法的其它方面。图7示出根据所公开的体系结构的在带有自适应克隆的无共享聚类中执行日志复制的计算系统的框图。具体实施例方式所公开的体系结构解决了来自无共享(SN)的经聚类的数据库管理系统的逻辑事务性复制问题,该数据库管理系统采用自适应克隆以获得高数据库可用性。体系结构目标是提供单个系统映像。SN聚类中的每一节点(服务器或砖)自主地操作。即,每一节点对该节点上的数据具有唯一所有权。聚类中没有节点与另一节点共享数据。在利用聚类中的多个服务器时,跨多个服务器拆分数据。例如,如果单个服务器上的数据包括用户、订单和产品,则SN聚类方法采用三个分开的机器来划分数据——第一节点主存用户数据,第二节点主存订单数据,而第三节点主存产品数据。此外,可以跨聚类节点水平地划分数据。数据库管理系统可以是包括服务器或实例集合的聚类系统。与必要的聚类基础结构链接在一起的服务器实例被称为砖(也是节点)。因此,聚类是一个或多个砖(也被称为节点)的集合。在系统中跨多个砖来分发数据以获得横向扩展和性能。将诸如表或索引等的数据库对象分成段。段是逻辑实体。数据段的物理表现被称为克隆。每一数据段具有与其相关联的一个或多个克隆——通常一个以上,来提供数据的高可用性。克隆是用最新状态维护并由数据库管理系统管理的数据的事务性一致的冗余副本,该数据库管理系统允许更高的可用性级别、动态负载平衡、容错以及其他所指定的目的。克隆具有角色——主要和次要。每一数据段中的一个且仅有一个克隆被指派为主要角色。给定数据段的其他冗余克隆被指派为次要角色。当砖变为离线时(例如,由于故障或用户/管理触发的有意关闭),则物理上主存在该砖上的所有克隆都进入离线状态。离线克隆是不可访问的,并因此,在克隆保持不可访问的情况下无法传播更新。遗漏一个或多个更新的克隆变为陈旧的。当陈旧克隆物理地位于其上的砖回到在线(重新加入)时,需要将陈旧克隆刷新到最新状态。注意,陈旧克隆离线的同时砖可以是在线的从而使得当主存陈旧克隆的砖回到在线时(陈旧克隆再次变为可访问的)需要将陈旧克隆刷新到最新状态。只要至少数据段的主要克隆可用,更新便能够成功地完成。(某些分布式系统要求克隆的选出成员。)将每一段的更新应用于主要克隆,然后将其从主要克隆传播到同一事务中的相对应的次要克隆。主要克隆可以从不处于陈旧状态。当砖重新加入时,该砖上的克隆再次变为可访问的。将陈旧克隆带回来与主要克隆事务性一致的过程被称为克隆刷新。克隆刷新不是通过重放相关联的事务日志(遗漏的更新)来完成的。相反,系统采用标识陈旧克隆中的不匹配并不按特定次序更新那些记录且无需保留用户事务边界的技术。这种算法通常不会遭受具有较长的追赶阶段的问题。然而,使用这种克隆刷新方案的系统可能进入这样一种状态对于给定的数据段, 没有一个段克隆在相关联的日志中包含完整的用户事务历史。这使得逻辑复制变为更复杂的任务,尤其在不保留事务边界的情况下。如此处更详细地描述的,解决方法是将克隆状态转变与日志获取进行协调来确保逻辑复制的正确性。现在参考附图,附图中通篇使用相似的附图标记表示相似的元件。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本专利技术的全面理解。然而,显而易见,可以在没有这些具体细节的情况下实施各新颖实施例。在其它情况下,以框图形式示出了公知的结构和设备以便于描述它们。意图为涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。图1示出根据所公开的体系结构的计算机实现的数据库管理系统100。系统100 包括采用自适应克隆来跨聚类节点存储数据库的数据库段的无共享聚类102本文档来自技高网
...

【技术保护点】
1.一种计算机实现的数据库管理系统(100),具有存储由处理器执行的可执行指令的计算机可读介质的,包括:无共享聚类(102),所述无共享聚类(102)采用自适应克隆来跨聚类节点存储数据库的数据库段,每一数据库段具有跟踪事务变更的事务日志记录,将所述事务日志记录形成事务日志流;以及复制组件(106),所述复制组件(106)接收数据库的多个事务日志流来创建变更的变更历史,所述复制组件将所述变更作为单个变更流复制到目的地数据系统。

【技术特征摘要】
2010.04.12 US 12/758,0451.一种计算机实现的数据库管理系统(100),具有存储由处理器执行的可执行指令的计算机可读介质的,包括无共享聚类(102),所述无共享聚类(10 采用自适应克隆来跨聚类节点存储数据库的数据库段,每一数据库段具有跟踪事务变更的事务日志记录,将所述事务日志记录形成事务日志流;以及复制组件(106),所述复制组件(106)接收数据库的多个事务日志流来创建变更的变更历史,所述复制组件将所述变更作为单个变更流复制到目的地数据系统。2.如权利要求1所述的系统,其特征在于,所述复制组件在接收不同事务的多个事务日志记录时维护所述变更的原始数据操作次序。3.如权利要求1所述的系统,其特征在于,所述复制组件遵守所述多个事务日志流中所生成的事务中的事务日志记录的原始数据变更次序。4.如权利要求1所述的系统,其特征在于,所述复制组件基于所述聚类中所采用的提交过程的全局逻辑时间戳接收多个事务日志记录。5.如权利要求1所述的系统,其特征在于,所述复制组件将所述变更历史创建为单个有序变更流,所述单个有序流是从所述多个事务日志流中创建的,所述多个事务日志流中的每一个缺少所有变更的完整记录。6.如权利要求1所述的系统,其特征在于,所述复制组件接收...

【专利技术属性】
技术研发人员:R·王M·E·汉本Q·郭P·拜恩R·D·达曼卡V·卡瑟瑞M·K·斯里尼瓦斯Y·朱X·江
申请(专利权)人:微软公司
类型:发明
国别省市:US

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

1