CN102142024B - 在分布式数据库中使用递增捕捉来进行逻辑数据备份和回退 - Google Patents
在分布式数据库中使用递增捕捉来进行逻辑数据备份和回退 Download PDFInfo
- Publication number
- CN102142024B CN102142024B CN201110037158.2A CN201110037158A CN102142024B CN 102142024 B CN102142024 B CN 102142024B CN 201110037158 A CN201110037158 A CN 201110037158A CN 102142024 B CN102142024 B CN 102142024B
- Authority
- CN
- China
- Prior art keywords
- data
- change
- increase progressively
- progressively
- trace information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种消除了对数据的盘上完整备份的需求而只在单独的表中保留已发生的变更的体系结构。因此,该体系结构允许对关系数据库(例如,SQL)中的递增变更进行递增还原。该体系结构提供经改进的还原时间和还原点目标。通过使用对已变更数据(例如,以XML为格式)的递增捕捉,提供了捕捉模式变更、查询递增变更数据、并将用户数据高效地还原到更早时间点状态的能力。通过一组触发器来(例如,连续地)跟踪变更(例如,***、更新以及删除操作),并且以人类可读格式(例如,XML)将递增地捕捉的已变更的行***数据捕捉表中(差分变更“增量”表)。还提供了回退。
Description
技术领域
本发明涉及数据备份和回退技术,更具体地涉及递增的数据备份和回退技术。
背景技术
在大型分布式数据库***中,可以使用传统SQL(结构化查询语言)备份和还原来进行数据保护。然而,尚有缺点存在。需要完整数据库的备份的盘上副本,这需要与所备份的数据库一样多的存储。另外,需要对事务日志进行周期性备份来用于较低的还原点目标(RPO)。此外,还原时间目标(RTO)很差,因为不管所涉及的数据的大小,任何还原操作都将需要还原整个备份并随后应用一系列事务日志备份文件。该过程非常耗时并是劳动力密集的,并且备份是以不可被直接查询的二进制格式来存储的。
发明内容
下面提供了简化的概述,以便提供对此处所描述的一些新颖实施方式的基本理解。本“发明内容”不是详尽的综述,并且它不旨在标识关键/重要元素或描绘本发明的范围。其唯一的目的是以简化形式提出一些概念,作为稍后提出的更详细描述的序言。
所公开的体系结构是一种消除了对数据的盘上完整备份的需求的有成本竞争力的方法。通过只在单独的表中保留已发生的变更来优化存储。因此,该体系结构允许对关系数据库(例如,SQL)中的递增变更进行递增还原。该体系结构提供经改进的还原时间和还原点目标。通过使用对已变更数据(例如,以XML为格式)的递增捕捉,提供了捕捉模式变更、查询递增地捕捉的数据、并将用户数据高效地还原到更早时间点状态并且没有停机时间的能力。
通过一组触发器来(例如,连续地)跟踪变更(例如,***、更新以及删除操作),并且根据某一格式(例如,XML)将递增地捕捉的已变更的行***数据捕捉表中(差分变更“增量”表)。该格式是自描述的并且包含该格式内的行的模式。
数据回退将来自数据捕捉表的适当行的递增变更解压到更早时间点,并随后将这些行覆盖到生产数据。优化***操作以不在数据捕捉表中创建各行而是在基表中维护变更跟踪信息(例如,***的协调世界时间(UTC))。
为了为实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其他优点和新颖特征将变得显而易见。
附图说明
图1示出根据所公开的体系结构的计算机实现的数据管理***。
图2示出数据管理***的一替换实施方式。
图3示出数据管理***的一替换表示。
图4示出一***,该***示出为了更新和删除数据操作而对基表进行的修改。
图5示出示例性捕捉和变更跟踪表。
图6示出根据所公开的体系结构的计算机实现的数据管理方法。
图7示出图6的方法的其他方面。
图8示出可用于根据所公开的体系结构来使用镜像之前(before-image)捕捉执行逻辑数据备份和回退的计算***的框图。
图9示出使用镜像之前捕捉来执行逻辑数据备份和回退的计算环境的示意框图。
具体实施方式
所公开的体系结构提供高效地捕捉数据操作的“镜像之前”(递增)数据变更以及变更跟踪信息并随后使用这些变更和信息来高效地回退更新/删除/***操作的能力。镜像之前数据是对其进行了变更,但在该已变更数据被处理来覆盖生产数据之前的数据。递增数据的存储空间是用于整个备份和事务日志备份的空间的一小部分。此外,从数据捕捉表回退更新/删除/***操作的时间相对于从整个备份和事务日志备份进行还原的时间而言是很小的。
如本文所使用的,表是采用控制跨服务器的划分的划分键并且还采用控制在一服务器内各行的排序的群集键的逻辑关系。表群是具有同一划分键的表的集合。行群是具有同一划分键值的表群中的行的集合。行群完全处于一个服务器上,但可以不被群集在一起。每一表群可以跨节点分布。每一存储节点是被分配了一定范围(分区)的键值,并且出于耐久性目的而复制了每一分区。
镜像之前数据可以用包含这些行的自描述模式的XML(可扩展标记语言)格式来持久存储。因此,该解决方案对模式评估是有效的。另外,镜像之前数据可以被持久存储在同一分区中(例如,表群),并且因而是高度可用的。此外,自动地管理并维护镜像之前保留策略,并且该镜像之前数据可以经由诸如TSQL(事务结构化查询语言(SQL))等传统关系语言来查询。
选择镜像之前优于镜像之后,使得变更可以从该分区内的当前数据向后应用(撤消而非重做),并且因此消除了对完整分区备份的需求以节省存储空间。
现在将参考附图,全部附图中相同的附图标记用于表示相同的元件。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以没有这些具体细节的情况下实施各新颖实施例。在其他情况下,以框图形式示出了公知的结构和设备以便于描述它们。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。
图1示出了根据所公开的体系结构的计算机实现的数据管理***100。***100包括捕捉与对分布式数据库的分区110中的数据108的数据操作106相关联的递增变更数据104的捕捉组件102。***100还可包括创建与递增变更数据104的数据操作106相关联的跟踪信息114的跟踪组件112和将递增变更数据104及相关联的跟踪信息114存储在分区110的表118中的存储组件116。在需要时,递增变更数据104高度可用于访问。捕捉组件102和跟踪组件112将数据和信息传递到存储组件116。
递增变更数据104和跟踪信息114以人类可读的格式(例如,XML——可扩展标记语言)存储在表118中,该格式在表118中包括各行的自描述模式。递增变更数据104和跟踪信息114在与将数据108提交给数据库的同一事务中被存储在表118中。递增变更数据104被持久存储在与数据108所处的相同分区(分区110)中。递增变更数据104是高度可用和可根据查询语言搜索的。表118包括递增变更数据104的变更的历史。变更与数据操作发生的时间、事务发生的时间、或行创建的时间中的至少一个相关联。
图2示出数据管理***200的一替换实施方式。***200包括捕捉与对分布式数据库的分区110中的数据108的数据操作106相关联的递增变更数据104的捕捉组件102、创建与数据操作106相关联的跟踪信息114的跟踪组件112、将递增变更数据104和相关联的跟踪信息114存储在表118中的存储组件116。在此,各组件(102,112,116,204以及206)与触发器202之间的通信由双向箭头来表示,因为这些实体之间可在两个方向上都存在通信。***200还可包括自动地启动对递增变更数据104和跟踪信息114的捕捉、跟踪以及将它们存储在表118中的一个触发器(一个或多个触发器202)。
递增变更数据104和跟踪信息114以人类可读的格式(例如,XML——可扩展标记语言)存储在表118中,该格式包括来自基表108的各行的自描述模式。递增变更数据104和跟踪信息114在与将数据108提交给数据库的同一事务中被存储在表118中。递增变更数据104被持久存储在数据108所处的分区110中,是高度可用的,并且是可以使用查询语言来搜索的。表118包括递增变更数据的变更的历史。变更与数据操作发生的时间(数据操作时间戳)、事务发生的时间(事务时间戳)以及行创建的时间(协调世界时间——UTC)相关联。
***200还可包括便于创建保留策略并将其应用于递增变更数据104和相关联的跟踪信息114的保留策略组件204以及用于将数据108的状态还原到先前时间点的回退组件206。
图3示出数据管理***300的一替换表示。可以在云计算环境中将***300(以及例如,***100和200)用于备份和还原功能。对于数据库中的表群302中的(包括主副本和多个次副本的多个副本中的)每一分区,创建变更捕捉和跟踪表304(例如,图1是表118)。在对原始表群302进行某些变更时,该表304(也被称为递增变更表或“增量”表)存储来自原始表群302的行值。
***300可被认为是与表群302进行接口的两个不同的应用。备份服务306安装数据捕捉和跟踪表、触发器202(例如,SQL更新和删除触发器),并向基表添加三个跟踪列。这些附加列被用来跟踪***操作。这些组件备份该表群的数据。还原工具308允许用户将表群302的先前状态还原到分阶段数据库310。
为了执行备份功能,为每一表群中的每一个表的删除和更新操作安装触发器202。触发器202捕捉对基行进行的变更并将记录***数据捕捉和跟踪表304中。这些值随后可从数据捕捉和跟踪表304***回(或,还原)到原始数据库或分阶段数据库。在还原时,获取在时间上最接近所请求的还原时间的记录并且将变更应用回基行。以此方式,数据库的所有者可以在设定时间帧内撤消对数据库进行的动作。
触发器捕捉对基行进行的变更并且将镜像之前(递增变更数据)***到该***所维护的数据捕捉和跟踪表304。表304被用作用来回退(还原)操作的变更的历史。数据捕捉和跟踪表304被持久存储在与用户数据相同的表群中,使得表304与多个副本高度可用。此外,因为镜像之前是XML的格式,所以它是易于查询的。
图4示出一***400,该***示出为了更新和删除数据操作而对基表402进行的修改。存在着被用来跟踪***、删除、以及更新操作的三个列。这些列包括UTC时间戳和两个DBTS(数据库时间戳)列(TXDBTS和OPDBTS)。TXDBTS列跟踪***、删除以及更新操作的较大事务上下文,而OPDBTS列跟踪单个***、删除以及更新操作。
在变更变得永久(覆盖在生产数据上)之前,来自基表的数据被存储在捕捉和变更跟踪表304中。对于每一表群每一分区都存在一个活动的捕捉和变更跟踪表304。各列由基表数据的XML版本、用于帮助还原操作的UTC和DBTS跟踪列、以及与备份和还原两者都相关的其他元数据所组成。在对基表执行更新和删除操作时,对应触发器(删除触发器404和更新触发器406)激发并将旧数据复制到捕捉和变更跟踪表304中。
存在着关于捕捉和变更跟踪表304的视图408。触发器(404和406)引用这一视图408来间接引用大多数最近(活动)捕捉和变更跟踪表。捕捉和变更跟踪表304不能被直接引用,因为它的实际名称在清除旧捕捉和变更跟踪表期间变化。
可以提供存储基表的各模式版本的信息表。这对于跟踪跨还原操作的模式变更而言是有用的。备份服务306安装所有以上组件,并且还清除旧的(过期)捕捉和变更跟踪表。
还原所存储的过程410基于给定UTC时间将该分区还原到先前状态。过程410与其他组件一起安装。一个过程还原行群,并且另一过程还原整个分区。
在执行还原操作时,使用三个列来跟踪先前***、删除以及更新操作的次序。这些列具有在每一***、删除、以及更新操作时填充的默认值。每一列的默认值调用在***、删除或更新操作期间自动地填充正确的值的函数(内部函数)。
TXDBTS允许通过事务来对基表及捕捉和变更跟踪表304中的各条目进行分类和编组。这使用返回该单独操作的当前事务的DBTS的内部函数。在服务器上,这一内部函数存储整个事务的当前DBTS并随后递增该DBTS。在这一内部函数被调用时,给定事务中的任何操作将具有同一DBTS值。任何其他DBTS引用将返回已递增的、当前非事务DBTS值。
OPDBTS展示每一操作的次序,并使用返回当前DBTS并递增该DBTS的内部函数。对于基表中的每一条目,这是不同的,因为每一***操作经由该列的默认值来调用内部函数。
UTC时间戳是创建该行的***操作的当前UTC时间。这一时间戳用于帮助还原操作。用户可以选择需要还原到的UTC日期或时间。还原基于DBTS值使用UTC时间戳作为指导来确定实际还原点。这被用来将数据库还原到一致的事务状态。
使用被该***添加到基表中的各列来跟踪基表中的***操作。这些列存储该操作的序列号、在该分区的主副本处测量的该操作的UTC时间、以及事务标识符。(这三个字段也被添加到数据捕捉表。)对于***操作,不向数据捕捉表***行。这一优化以稍微增加回退逻辑的复杂性为代价而减少了存储要求。
在回退期间,行(它已被保存在数据捕捉表中)在所请求的回退时间之前的最后提交的状态被用来覆盖基行。
***操作没有触发器。在对备份的基表进行***时,在捕捉和变更跟踪表中不存储信息。自动地填充三个附加列的默认值。这一新数据允许还原操作考虑***操作并对其进行排序。
为了在更新或删除操作期间对数据进行备份,备份服务306为相关基表安装触发器。在对基表的更新或删除操作时,触发器存储预更新或预删除基表行的XML表示(没有三个跟踪列)。这捕捉用于备份的数据以及数据库的“模式”。其次,它存储分区键。基于***触发器的DBTS记录不更改基表。在备份服务306不运行的情况下,触发器继续将已变更的数据存储到捕捉和变更跟踪表304中。
使用捕捉和变更跟踪表304上的视图408,以使得在为行群内的给定分区做出新捕捉和变更跟踪表并且该表自身的名称变更时,触发器不必变更。
更新和删除触发器两者都将必要的备份数据***已安装的视图中。无论何时创建带有基于其期满日期的新名称的新捕捉和变更跟踪表,该视图被重建为指向该新表。
备份服务306在初始化时从配置文件读取信息,这些文件包含关于要由捕捉和变更跟踪表来进行备份的每一数据库的信息。服务306随后建立捕捉和变更跟踪表和表群的触发器。服务306随后调度两个操作:检查基表模式变更和升级以及清除捕捉和变更跟踪表。
为了将一个分区(例如,表群)或行群还原到特定时间点,还原工具308调用在备份服务初始化或在模式变更之后安装的一个或多个所存储的过程410。一个过程还原整个分区中的每一个表。另一过程还原该分区内的行群。这些过程取要还原的所需时间点作为自变量。
对于实现事务一致性,在还原(回退)操作期间,如果所需还原点落入所存储(备份)的事务的中间则可能创建不一致的状态。对于对数据库的每一所存储的变更,为事务中的每一操作都存储事务开始DBTS和操作DBTS。
展示了返回当前事务中的第一操作的DBTS的内部函数TX_START_DBTS()。如果在该内部函数被调用之前该事务没有执行操作,则递增DBTS并且将该值记录在事务记录中。
对于事务开始时间,观察到如下结果:回退给定事务操作中的一些而留下同一事务的其他操作可能是不合需要的。考虑一***,在该***中,在任何给定时间都有许多事务在运行并且这些事务中的每一个都修改不止一行。DBTS中的每一个值可以处于一些事务的中间。因此,正确答案是对于没有DBTS值将回退晚于该值的所有操作。因此,使用操作的DBTS作为唯一准则是受限的。
该能力被提供给属于已经开始回退的事务的回退操作。为了对其进行支持,事务标识符与记录存储在一起。此外,事务标识符是跨故障唯一的。DBTS具有这一特性并且被保证在故障中前进。因此,事务开始DBTS是这一需求的候选。
考虑事务T1、T2和T3的以下时间线。
时间 | 操作 |
5 | 5:X=0 |
10 | T1开始(做某事) |
15 | T1开始(做某事) |
20 | T2将X更新成2 |
25 | T2提交 |
30 | T1将X更新成1 |
35 | T1提交 |
40 | T3开始 |
41 | T3将X更新成3 |
42 | T3提交 |
现在,还原到DBTS=28。因为事务T2那时已经提交,并且事务T1尚未提交,所以X被还原到2。然而,为实现这一点,注意,事务T1更新发生在事务T2更新之后,但事务T1开始时间早于事务T2开始时间。因此,要解决这一问题不止需要事务开始时间。
使用主表和捕捉和变更跟踪表中的各列来优化***繁重工作负载。所公开的体系结构不涉及在***时写入第二行(或甚至使触发器执行)。
对于配置备份策略,在策略文件中指定关键客户可见的策略参数。
保留时间段确定该数据在多长时间内可用于恢复。这基本上管控跟踪数据将被保持在数据捕捉和跟踪表中的持续时间。数据捕捉表中的旧数据可由该***懒散地删除。
回退过程作为回退命令来执行,它取要被回退的行群和要回退所述行群回到的UTC时间作为参数。(行群是具有相同的[分区]键值的行的集合。)该命令能够将生产数据覆盖到在指定回退时间处存在的状态。命令的变型可以将多个行群回退到某一时间点。也可以用各种其他方式来扩展该命令。
图5示出示例性捕捉和变更跟踪表500。表500(类似于表118和304)存储基表的分区键和类型、事务开始DBTS(TXSTARTDBTS)、操作DBTS(OPDBTS)、基于UTC的时间戳(用于找出还原点)、基表中的行的主键(作为XML)、来自该基表行的“旧”值(数据库中的数据在删除或更新操作之前的XML版本)以及从中存储值和主键列的基表的名称。在清除方面,捕捉和变更跟踪表500的名称可以是期满日期。捕捉和变更跟踪表500的创建日期和期满日期可被附加到该表的名称之后,这消除了对额外字段的需求。
此处所包括的是一组代表用于执行所公开的体系结构的新颖方面的示例性方法的流程图。尽管出于解释简明的目的,此处例如以流图或流程图形式示出的一个或多个方法被示出并描述为一系列动作,但是可以理解和明白,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其他动作同时发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。此外,并非在一方法中示出的所有动作都是新颖实现所必需的。
图6示出根据所公开的体系结构的计算机实现的数据管理方法。在600,接收与分布式数据库中的数据的递增变更数据相关的数据操作。在602,响应于数据操作来捕捉递增变更数据。在604,创建与递增变更数据相关联的跟踪信息。在606,存储递增变更数据和跟踪信息。
图7示出了图6的方法的其他方面。在700,将递增变更数据作为表中的一行并以包括自描述模式的XML格式来存储。在702,使用结构化查询语言来查询递增变更数据。在704,将保留策略应用于递增变更数据和跟踪信息。在706,将事务时间戳和数据操作时间戳与递增变更数据的事务相关联地存储。在708,基于递增变更数据将回退操作应用于数据库以将数据回退到先前时间点。
如在本申请中所使用的,术语“组件”和“***”旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于,诸如处理器、芯片存储器、大容量存储设备(例如,光驱、固态驱动器、和/或磁存储介质驱动器)、以及计算机等有形组件,以及诸如运行在处理器上的进程、对象、可执行码、模块、执行的线程和/或程序等软件组件。作为说明,在服务器上运行的应用程序和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一台计算机上和/或分布在两台或更多的计算机之间。词语“示例性”此处可用于表示用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其他方面或设计更优选或有利。
现在参考图8,示出可用于根据所公开的体系结构来使用镜像之前捕捉执行逻辑数据备份和回退的计算***800的框图。为了提供用于其各方面的附加上下文,图8及以下讨论旨在提供对其中可实现各方面的合适的计算***800的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行的,但是本领域的技术人员将认识到,新颖实施例也可结合其他程序模块和/或作为硬件和软件的组合来实现。
用于实现各方面的计算***800包括计算机802,其具有处理单元804、诸如***存储器806等的计算机可读存储、以及***总线808。处理单元804可以是各种市场上可买到的处理器中的任一种,包括单处理器、多处理器、单核单元以及多核单元。此外,本领域的技术人员可以理解,各新颖方法可用其他计算机***配置来实施,包括小型机、大型计算机、以及个人计算机(例如、台式、膝上型等)、手持式计算设备、基于微处理器的或可编程消费电子产品等,其每一个都可在操作上耦合到一个或多个相关联的设备。
***存储器806可包括计算机可读存储,如易失性(VOL)存储器810(例如,随机存取存储器(RAM))和非易失性存储器(NON-VOL)812(如ROM、EPROM、EEPROM等)。基本输入/输出***(BIOS)可被存储在非易失性存储器812中,并且包括诸如在启动期间便于在计算机802内的组件之间传递数据和信号的基本例程。易失性存储器810还可包括诸如静态RAM等高速RAM来用于高速缓存数据。
***总线808提供了用于包括,但不限于***存储器806的***组件到处理单元804的接口。***总线808可以是若干种总线结构中的任一种,这些总线结构还可使用各类可购买到的总线体系结构中的任一种互连到存储器总线(带有或没有存储器控制器)以及***总线(例如,PCI、PCIe、AGP、LPC等)。
计算机802还包括用于机器可读存储子***814以及将存储子***814接口到***总线808和其他所需计算机组件的存储接口816。存储子***814可包括例如硬盘驱动器(HDD)、磁软盘驱动器(FDD)和/或光盘存储驱动器(例如,CD-ROM驱动器、DVD驱动器)中的一种或多种。存储接口816可包括诸如,例如EIDE、ATA、SATA和IEEE1394等接口技术。
一个或多个程序和数据可被存储在存储器子***806、机器可读和可移动存储器子***818(例如,闪存驱动器形状因子技术)和/或存储子***814(例如,光、磁、固态)中,包括操作***820、一个或多个应用程序822、其他程序模块824以及程序数据826。
一个或多个应用程序822、其他程序模块824以及程序数据826可包括例如图1的***100的实体和组件、图2的***200的实体和组件、图3的***300的实体和组件、图4的***400的实体和组件、表500、以及图6-7的流程图所表示的方法。
一般而言,程序包括执行特定任务或实现特定抽象数据类型的例程、方法、数据结构、其他软件组件等等。操作***820、应用程序822、模块824和/或数据826的全部或部分也可被高速缓存在诸如易失性存储器810等存储器中。应该明白,所公开的体系结构可以用各种市场上可购得的操作***或操作***的组合(例如,作为虚拟机)来实施。
存储子***814和存储器子***(806和818)用作用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。计算机可读介质可以是可由计算机802访问的任何可用介质,且包括可移动和不可移动的易失性和非易失性、内部和/或外部介质。对于计算机802,介质以任意适当的数字格式容纳数据的存储。本领域的技术人员应当理解,可使用其他类型的计算机可读介质,如zip驱动器、磁带、闪存卡、闪存驱动器、磁带盒等来存储用于执行所公开的体系结构的新颖方法的计算机可执行指令。
用户可以使用诸如键盘和鼠标等外部用户输入设备828来与计算机802、程序和数据交互。其他外部用户输入设备828可包括话筒、IR(红外)遥控器、操纵杆、游戏手柄、照相机识别***、指示笔、触摸屏、姿势***(例如,眼移动、头移动等)和/或类似物。在计算机802是例如便携式计算机的情况下,用户可以使用诸如触摸垫、话筒、键盘等板载用户输入设备830来与计算机802、程序和数据交互。这些和其他输入设备通过输入/输出(I/O)设备接口832经由***总线808连接到处理单元804,但也可通过其它接口连接,如并行端口、IEEE1394串行端口、游戏端口、USB端口、IR接口等等。I/O设备接口832还便于使用输出***设备834,如打印机、音频设备、照相机设备等,如声卡和/或板载音频处理能力。
一个或多个图形接口836(通常也称为图形处理单元(GPU))提供计算机802和外部显示器838(例如,LCD、等离子)和/或板载显示器840(例如,对于便携式计算机)之间的图形和视频信号。图形接口836也可作为计算机***板的一部分来制造。
计算机802可以使用经由有线/无线通信子***842到一个或多个网络和/或其他计算机的逻辑连接在联网环境(例如,基于IP的)中操作。其他计算机可包括工作站、服务器、路由器、个人计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括以上相对于计算机802描述的许多或所有元件。逻辑连接可包括到局域网(LAN)、广域网(WAN)热点等的有线/无线连接。LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在联网环境中使用时,计算机802经由有线/无线通信子***842(例如,网络接口适配器、板载收发机子***等)连接到网络来与有线/无线网络、有线/无线打印机、有线/无线输入设备844等通信。计算机802可包括用于通过网络建立通信的调制解调器或其他装置。在联网环境中,相对于计算机802的程序和数据可被存储在远程存储器/存储设备中,如与分布式***相关联。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
计算机802可用于使用诸如IEEE802.xx标准家族等无线电技术来与有线/无线设备或实体通信,例如在操作上安置在与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话的无线通信(例如,IEEE802.11空中调制技术)中的无线设备。这至少包括用于热点的Wi-Fi(即无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以是如对于常规网络那样的预定义结构,或者仅仅是至少两个设备之间的自组织(adhoc)通信。Wi-Fi网络使用称为IEEE802.11x(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE802.3相关介质和功能)。
现在参考图9,示出使用镜像之前捕捉来执行逻辑数据备份和回退的计算环境900的示意框图。环境900包括一个或多个客户机902。客户机902可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,客户机902可容纳cookie和/或相关联的上下文信息。
环境900还包括一个或多个服务器904。服务器904也可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器904可以例如通过使用本体系结构来容纳线程以执行变换。客户机902和服务器904之间的一种可能的通信可以是适用于在两个或更多计算机进程之间传输的数据包的形式。数据分组可包括例如cookie和/或相关联的上下文信息。环境900包括可以用来使客户机902和服务器904之间通信更容易的通信框架906(例如,诸如因特网等全球通信网络)。
通信可经由有线(包括光纤)和/或无线技术来促进。客户机902操作上被连接到可以用来存储对客户机902本地的信息(例如,cookie和/或相关联的上下文信息)的一个或多个客户机数据存储908。同样地,服务器904可在操作上连接到可以用来存储对服务器904本地的信息的一个或多个服务器数据存储910。
上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在说明书或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡词时所解释的相似的方式为包含性的。
Claims (10)
1.一种具有物理介质的计算机实现的数据管理***(100),包括:
捕捉递增变更数据的捕捉组件(102),所述递增变更数据与在分布式数据库的一分区中的数据上的数据操作相关联;
创建与所述递增变更数据的数据操作相关联的跟踪信息的跟踪组件(112);
将所述递增变更数据和相关联的跟踪信息存储在所述分区的一个表中的存储组件(116),所述递增变更数据可用,所述表包括递增变更数据的变更的历史,所述变更与数据操作发生时间、事务发生时间、以及行创建时间相关联,其中所述递增变更数据和所述跟踪信息以包括所述表中的已变更数据的自描述模式的人类可读的格式存储在所述表中,所述递增变更数据和所述跟踪信息在与将所述数据变更提交给所述数据库的同一事务中被存储在所述表中;以及
用于将所述行的状态还原到先前时间点的回退组件,其中在回退期间,在所请求的回退时间之前的最后提交的行状态被用来覆盖基行。
2.如权利要求1所述的***,其特征在于,还包括自动地启动所述递增变更数据的捕捉、所述跟踪信息的创建以及所述递增变更数据和所述跟踪信息两者在所述表中的存储的一个或多个触发器。
3.如权利要求1所述的***,其特征在于,所述递增变更数据被持久存储在所述数据所处的同一分区中。
4.如权利要求1所述的***,其特征在于,所述递增变更数据是可用的并且可根据查询语言来搜索。
5.如权利要求1所述的***,其特征在于,还包括保留策略组件,所述保留策略组件便利于对保留策略的创建以及所述保留策略到所述递增变更数据和相关联的跟踪信息的应用。
6.一种使用处理器和存储器的计算机实现的数据管理方法,包括:
接收与分布式数据库中的数据的递增变更数据相关的数据操作(600);
响应于所述数据操作来捕捉所述递增变更数据(602);
创建与所述递增变更数据相关联的跟踪信息(604);
将所述递增变更数据和跟踪信息存储在表中(606),所述表包括递增变更数据的变更的历史,所述变更与数据操作发生时间、事务发生时间、以及行创建时间相关联,其中所述递增变更数据和所述跟踪信息以包括所述表中的已变更数据的自描述模式的人类可读的格式存储在所述表中,所述递增变更数据和所述跟踪信息在与将所述数据变更提交给所述数据库的同一事务中被存储在所述表中;以及
基于所述递增变更数据将回退操作应用于所述数据库以将所述数据回退到先前时间点,其中在回退期间,在所请求的回退时间之前的最后提交的行状态被用来覆盖基行。
7.如权利要求6所述的方法,其特征在于,还包括将所述递增变更数据作为所述表中的一行来存储。
8.如权利要求6所述的方法,其特征在于,还包括使用结构化查询语言来查询所述递增变更数据。
9.如权利要求6所述的方法,其特征在于,还包括将保留策略应用于所述递增变更数据和跟踪信息。
10.如权利要求6所述的方法,其特征在于,还包括与所述递增变更数据的事务相关联地存储事务时间戳和数据操作时间戳。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/697,302 | 2010-02-01 | ||
US12/697,302 US8825601B2 (en) | 2010-02-01 | 2010-02-01 | Logical data backup and rollback using incremental capture in a distributed database |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102142024A CN102142024A (zh) | 2011-08-03 |
CN102142024B true CN102142024B (zh) | 2016-04-06 |
Family
ID=44342503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110037158.2A Active CN102142024B (zh) | 2010-02-01 | 2011-01-31 | 在分布式数据库中使用递增捕捉来进行逻辑数据备份和回退 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8825601B2 (zh) |
CN (1) | CN102142024B (zh) |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0513375D0 (en) | 2005-06-30 | 2005-08-03 | Retento Ltd | Computer security |
US9020905B2 (en) * | 2009-10-31 | 2015-04-28 | International Business Machines Corporation | Synchronizing database and non-database resources without a commit coordinator |
US8332358B2 (en) * | 2010-01-05 | 2012-12-11 | Siemens Product Lifecycle Management Software Inc. | Traversal-free rapid data transfer |
US20110178984A1 (en) * | 2010-01-18 | 2011-07-21 | Microsoft Corporation | Replication protocol for database systems |
US9164554B2 (en) | 2010-04-12 | 2015-10-20 | Sandisk Enterprise Ip Llc | Non-volatile solid-state storage system supporting high bandwidth and random access |
US9047351B2 (en) | 2010-04-12 | 2015-06-02 | Sandisk Enterprise Ip Llc | Cluster of processing nodes with distributed global flash memory using commodity server technology |
US8856593B2 (en) | 2010-04-12 | 2014-10-07 | Sandisk Enterprise Ip Llc | Failure recovery using consensus replication in a distributed flash memory system |
US8868487B2 (en) | 2010-04-12 | 2014-10-21 | Sandisk Enterprise Ip Llc | Event processing in a flash memory-based object store |
US9092576B2 (en) * | 2010-06-25 | 2015-07-28 | International Business Machines Corporation | Non-intrusive measurement of content quality using dry runs with roll-back |
US8954385B2 (en) * | 2010-06-28 | 2015-02-10 | Sandisk Enterprise Ip Llc | Efficient recovery of transactional data stores |
US9413721B2 (en) * | 2011-02-15 | 2016-08-09 | Webroot Inc. | Methods and apparatus for dealing with malware |
US20120233250A1 (en) * | 2011-03-11 | 2012-09-13 | International Business Machines Corporation | Auto-updatable document parts within content management systems |
CN102693169B (zh) * | 2011-03-25 | 2015-01-28 | 国际商业机器公司 | 在多租户环境下恢复租户数据的方法、设备和数据库*** |
US8874515B2 (en) | 2011-04-11 | 2014-10-28 | Sandisk Enterprise Ip Llc | Low level object version tracking using non-volatile memory write generations |
WO2013038419A1 (en) * | 2011-09-14 | 2013-03-21 | Infosys Limited | Incremental download framework |
CN102393860A (zh) * | 2011-12-06 | 2012-03-28 | 方正国际软件有限公司 | 数据库数据迁移*** |
US8751549B2 (en) * | 2012-01-06 | 2014-06-10 | International Business Machines Corporation | Persistent data management in multi-image code load systems |
US8527462B1 (en) | 2012-02-09 | 2013-09-03 | Microsoft Corporation | Database point-in-time restore and as-of query |
US9135064B2 (en) | 2012-03-07 | 2015-09-15 | Sandisk Enterprise Ip Llc | Fine grained adaptive throttling of background processes |
US9652495B2 (en) | 2012-03-13 | 2017-05-16 | Siemens Product Lifecycle Management Software Inc. | Traversal-free updates in large data structures |
US9122740B2 (en) | 2012-03-13 | 2015-09-01 | Siemens Product Lifecycle Management Software Inc. | Bulk traversal of large data structures |
JP5964950B2 (ja) * | 2012-04-12 | 2016-08-03 | 株式会社日立製作所 | 計算機システム、データ配置管理方法及びプログラム |
US9256626B2 (en) | 2012-04-16 | 2016-02-09 | International Business Machines Corporation | Maintaining multiple copy versions of component values in a system |
US8930751B2 (en) | 2012-04-24 | 2015-01-06 | Microsoft Corporation | Initializing replication in a virtual machine |
US8839031B2 (en) | 2012-04-24 | 2014-09-16 | Microsoft Corporation | Data consistency between virtual machines |
US9547672B2 (en) | 2012-09-24 | 2017-01-17 | Bmc Software, Inc. | Zero-outage database reorganization |
CN103714062B (zh) * | 2012-09-28 | 2017-05-31 | 国际商业机器公司 | 基于依赖关系导入实体‑联系模型数据的方法和*** |
US9870399B1 (en) * | 2012-12-31 | 2018-01-16 | Teradata Us, Inc. | Processing column-partitioned data for row-based operations in a database system |
US9372889B1 (en) * | 2013-04-04 | 2016-06-21 | Amazon Technologies, Inc. | Incremental statistics update |
US9471436B2 (en) * | 2013-04-23 | 2016-10-18 | Facebook, Inc. | Use of incremental checkpoints to restore user data stream processes |
US9053167B1 (en) * | 2013-06-19 | 2015-06-09 | Amazon Technologies, Inc. | Storage device selection for database partition replicas |
US9294482B2 (en) * | 2013-07-25 | 2016-03-22 | Oracle International Corporation | External platform extensions in a multi-tenant environment |
US20160170842A1 (en) * | 2013-07-29 | 2016-06-16 | Hewlett-Packard Development Company, L.P. | Writing to files and file meta-data |
US9128965B1 (en) * | 2013-08-07 | 2015-09-08 | Amazon Technologies, Inc. | Configurable-capacity time-series tables |
CN104657364B (zh) * | 2013-11-18 | 2018-02-23 | 华为技术有限公司 | 一种日志结构数据库***查询请求消息处理方法及装置 |
CN103678532B (zh) * | 2013-12-02 | 2017-05-10 | ***(深圳)有限公司 | 变更语句逆向分析方法、数据库变更回退方法及*** |
US9619581B2 (en) * | 2013-12-20 | 2017-04-11 | Microsoft Technology Licensing, Llc | Constructing queries for execution over multi-dimensional data structures |
CN103927373A (zh) * | 2014-04-24 | 2014-07-16 | 湖北航云端科技有限公司 | 基于增量式关联规则技术的动态大数据模型高效建立方法 |
US10007602B2 (en) * | 2014-05-06 | 2018-06-26 | International Business Machines Corporation | Flash copy relationship management |
CN105446824B (zh) * | 2014-05-28 | 2019-11-05 | 无锡华润微电子有限公司 | 表增量获取方法及异地数据备份方法 |
US9824100B2 (en) | 2014-06-14 | 2017-11-21 | International Business Machines Corporation | Technology for importing schema changes to multiple target systems |
US20160019117A1 (en) * | 2014-07-16 | 2016-01-21 | Commvault Systems, Inc. | Creating customized bootable image for client computing device from backup copy |
US11275760B2 (en) | 2014-10-28 | 2022-03-15 | Microsoft Technology Licensing, Llc | Online schema and data transformations |
JP6251388B2 (ja) * | 2014-11-12 | 2017-12-20 | 華為技術有限公司Huawei Technologies Co.,Ltd. | KeyValueデータベースのデータテーブルを更新するための方法およびテーブルデータを更新するための装置 |
CN104468747A (zh) * | 2014-11-23 | 2015-03-25 | 国云科技股份有限公司 | 一种基于b/s的高性能部署方法 |
CN105740131B (zh) * | 2014-12-09 | 2020-09-25 | 深圳力维智联技术有限公司 | 软件用户行为回退处理方法及装置 |
CN105760252A (zh) * | 2014-12-19 | 2016-07-13 | 中兴通讯股份有限公司 | 实现事务日志镜像备份的方法及装置 |
US10108352B2 (en) | 2015-03-03 | 2018-10-23 | International Business Machines Corporation | Incremental replication of a source data set |
US10657004B1 (en) | 2015-03-23 | 2020-05-19 | Amazon Technologies, Inc. | Single-tenant recovery with a multi-tenant archive |
US10628393B2 (en) | 2015-06-24 | 2020-04-21 | International Business Machines Corporation | Generating data tables |
US10380086B2 (en) | 2015-09-11 | 2019-08-13 | International Business Machines Corporation | Deleting rows from tables in a database without an index |
WO2017070188A1 (en) * | 2015-10-23 | 2017-04-27 | Oracle International Corporation | Efficient in-memory db query processing over any semi-structured data formats |
US10185557B2 (en) * | 2015-10-29 | 2019-01-22 | Ca, Inc. | Enhanced metadata tracking in a change management system |
US10733057B2 (en) * | 2015-10-30 | 2020-08-04 | Bently Systems, Incorporated | Techniques for application undo and redo using SQL patchsets or changesets |
US10021120B1 (en) | 2015-11-09 | 2018-07-10 | 8X8, Inc. | Delayed replication for protection of replicated databases |
US10043026B1 (en) | 2015-11-09 | 2018-08-07 | 8X8, Inc. | Restricted replication for protection of replicated databases |
CN107819795A (zh) * | 2016-09-12 | 2018-03-20 | 北京金山云网络技术有限公司 | 一种dns主辅服务器数据同步方法、装置及*** |
CN109032752B (zh) * | 2017-06-12 | 2023-03-10 | 微软技术许可有限责任公司 | 基于云平台的操作撤销 |
CN109426585A (zh) * | 2017-08-22 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 一种备份、恢复数据库数据的方法和装置 |
US10838934B2 (en) * | 2017-08-30 | 2020-11-17 | International Business Machines Corporation | Modifying archive data without table changes |
CN108874313B (zh) * | 2018-05-31 | 2021-11-23 | 安徽四创电子股份有限公司 | 一种基于数据流的大数据增量抽取的数据交换平台 |
CN110874383B (zh) * | 2018-08-30 | 2023-05-05 | 阿里云计算有限公司 | 数据处理方法、装置及电子设备 |
US11347714B2 (en) | 2018-11-06 | 2022-05-31 | Snowflake Inc. | Tracking changes in database data |
US10977244B2 (en) | 2018-11-06 | 2021-04-13 | Snowflake Inc. | Tracking intermediate changes in database data |
KR102119258B1 (ko) | 2018-11-14 | 2020-06-05 | 주식회사 실크로드소프트 | 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법 |
US11086840B2 (en) | 2018-12-07 | 2021-08-10 | Snowflake Inc. | Transactional streaming of change tracking data |
CN110704475A (zh) * | 2019-09-29 | 2020-01-17 | 中国银行股份有限公司 | 一种etl加载表结构的比对方法及*** |
US11237924B2 (en) | 2019-12-11 | 2022-02-01 | Commvault Systems, Inc. | Dynamic resizing and re-distribution of destination data storage resources for bare metal restore operations in a data storage management system |
US11748327B2 (en) * | 2021-01-29 | 2023-09-05 | Snowflake Inc. | Streams using persistent tables |
CN116975159B (zh) * | 2023-09-25 | 2024-02-23 | 云筑信息科技(成都)有限公司 | 一种增量数据同步的处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138081A1 (en) * | 2003-05-14 | 2005-06-23 | Alshab Melanie A. | Method and system for reducing information latency in a business enterprise |
US20050240633A1 (en) * | 2004-04-23 | 2005-10-27 | Oracle International Corporation | Online recovery of user tables using flashback table |
US7107419B1 (en) * | 2003-02-14 | 2006-09-12 | Google Inc. | Systems and methods for performing record append operations |
US7222141B2 (en) * | 1998-12-24 | 2007-05-22 | International Business Machine Corporation | System and method for synchronizing data in multiple databases |
US20070130226A1 (en) * | 2005-12-01 | 2007-06-07 | Oracle International Corporation | Database system that provides for history-enabled tables |
US20100005124A1 (en) * | 2006-12-07 | 2010-01-07 | Robert Edward Wagner | Automated method for identifying and repairing logical data discrepancies between database replicas in a database cluster |
Family Cites Families (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4714995A (en) * | 1985-09-13 | 1987-12-22 | Trw Inc. | Computer integration system |
EP0357768B1 (en) * | 1988-03-14 | 1994-03-09 | Unisys Corporation | Record lock processor for multiprocessing data system |
US5701480A (en) * | 1991-10-17 | 1997-12-23 | Digital Equipment Corporation | Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing |
US5452445A (en) * | 1992-04-30 | 1995-09-19 | Oracle Corporation | Two-pass multi-version read consistency |
US5335343A (en) * | 1992-07-06 | 1994-08-02 | Digital Equipment Corporation | Distributed transaction processing using two-phase commit protocol with presumed-commit without log force |
US5613113A (en) * | 1993-10-08 | 1997-03-18 | International Business Machines Corporation | Consistent recreation of events from activity logs |
US5440735A (en) * | 1993-10-08 | 1995-08-08 | International Business Machines Corporation | Simplified relational data base snapshot copying |
US5553279A (en) * | 1993-10-08 | 1996-09-03 | International Business Machines Corporation | Lossless distribution of time series data in a relational data base network |
US5796999A (en) * | 1994-04-15 | 1998-08-18 | International Business Machines Corporation | Method and system for selectable consistency level maintenance in a resilent database system |
US5577240A (en) * | 1994-12-07 | 1996-11-19 | Xerox Corporation | Identification of stable writes in weakly consistent replicated databases while providing access to all writes in such a database |
US5671407A (en) * | 1994-12-07 | 1997-09-23 | Xerox Corporation | Application-specific conflict detection for weakly consistent replicated databases |
US5603026A (en) * | 1994-12-07 | 1997-02-11 | Xerox Corporation | Application-specific conflict resolution for weakly consistent replicated databases |
US5581754A (en) * | 1994-12-07 | 1996-12-03 | Xerox Corporation | Methodology for managing weakly consistent replicated databases |
US5778350A (en) * | 1995-11-30 | 1998-07-07 | Electronic Data Systems Corporation | Data collection, processing, and reporting system |
US5819272A (en) * | 1996-07-12 | 1998-10-06 | Microsoft Corporation | Record tracking in database replication |
US5799321A (en) * | 1996-07-12 | 1998-08-25 | Microsoft Corporation | Replicating deletion information using sets of deleted record IDs |
US5940826A (en) * | 1997-01-07 | 1999-08-17 | Unisys Corporation | Dual XPCS for disaster recovery in multi-host computer complexes |
US6279032B1 (en) * | 1997-11-03 | 2001-08-21 | Microsoft Corporation | Method and system for quorum resource arbitration in a server cluster |
US6205527B1 (en) | 1998-02-24 | 2001-03-20 | Adaptec, Inc. | Intelligent backup and restoring system and method for implementing the same |
US6959323B1 (en) * | 1998-08-27 | 2005-10-25 | Lucent Technologies Inc. | Scalable atomic multicast |
US6401136B1 (en) * | 1998-11-13 | 2002-06-04 | International Business Machines Corporation | Methods, systems and computer program products for synchronization of queue-to-queue communications |
US6463532B1 (en) * | 1999-02-23 | 2002-10-08 | Compaq Computer Corporation | System and method for effectuating distributed consensus among members of a processor set in a multiprocessor computing system through the use of shared storage resources |
US6397352B1 (en) * | 1999-02-24 | 2002-05-28 | Oracle Corporation | Reliable message propagation in a distributed computer system |
US6671704B1 (en) * | 1999-03-11 | 2003-12-30 | Hewlett-Packard Development Company, L.P. | Method and apparatus for handling failures of resource managers in a clustered environment |
US6401120B1 (en) * | 1999-03-26 | 2002-06-04 | Microsoft Corporation | Method and system for consistent cluster operational data in a server cluster using a quorum of replicas |
US7774469B2 (en) * | 1999-03-26 | 2010-08-10 | Massa Michael T | Consistent cluster operational data in a server cluster using a quorum of replicas |
US20040205414A1 (en) * | 1999-07-26 | 2004-10-14 | Roselli Drew Schaffer | Fault-tolerance framework for an extendable computer architecture |
US7290056B1 (en) * | 1999-09-09 | 2007-10-30 | Oracle International Corporation | Monitoring latency of a network to manage termination of distributed transactions |
US7206805B1 (en) * | 1999-09-09 | 2007-04-17 | Oracle International Corporation | Asynchronous transcription object management system |
US6671821B1 (en) * | 1999-11-22 | 2003-12-30 | Massachusetts Institute Of Technology | Byzantine fault tolerance |
US6615256B1 (en) * | 1999-11-29 | 2003-09-02 | Microsoft Corporation | Quorum resource arbiter within a storage network |
US6438558B1 (en) * | 1999-12-23 | 2002-08-20 | Ncr Corporation | Replicating updates in original temporal order in parallel processing database systems |
US6701345B1 (en) * | 2000-04-13 | 2004-03-02 | Accenture Llp | Providing a notification when a plurality of users are altering similar data in a health care solution environment |
US7403901B1 (en) * | 2000-04-13 | 2008-07-22 | Accenture Llp | Error and load summary reporting in a health care solution environment |
US7657887B2 (en) * | 2000-05-17 | 2010-02-02 | Interwoven, Inc. | System for transactionally deploying content across multiple machines |
US6769074B2 (en) | 2000-05-25 | 2004-07-27 | Lumigent Technologies, Inc. | System and method for transaction-selective rollback reconstruction of database objects |
US6985956B2 (en) * | 2000-11-02 | 2006-01-10 | Sun Microsystems, Inc. | Switching system |
US20020165724A1 (en) * | 2001-02-07 | 2002-11-07 | Blankesteijn Bartus C. | Method and system for propagating data changes through data objects |
US6970876B2 (en) * | 2001-05-08 | 2005-11-29 | Solid Information Technology | Method and arrangement for the management of database schemas |
US20030182328A1 (en) * | 2001-10-29 | 2003-09-25 | Jules Paquette | Apparatus and method for sharing data between multiple, remote sites of a data network |
JP2005507522A (ja) * | 2001-10-30 | 2005-03-17 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 分散コンピューティングにおける順次整合性を保証する方法およびシステム |
CA2466107C (en) * | 2001-11-01 | 2013-01-08 | Verisign, Inc. | Transactional memory manager |
US20030093443A1 (en) | 2001-11-15 | 2003-05-15 | Huxoll Vernon F. | System and method for creating online snapshots |
US20030105761A1 (en) * | 2001-11-21 | 2003-06-05 | Mikael Lagerman | Historic network configuration database |
US6874071B2 (en) * | 2001-12-13 | 2005-03-29 | International Business Machines Corporation | Database commit control mechanism that provides more efficient memory utilization through consideration of task priority |
EP1476824A4 (en) | 2002-01-15 | 2007-02-21 | Network Appliance Inc | ACTIVE FILE CHANGE NOTIFICATION |
AU2003225517A1 (en) * | 2002-04-09 | 2003-10-27 | Matan Arazi | Computerized trading system and method useful therefor |
US6978396B2 (en) * | 2002-05-30 | 2005-12-20 | Solid Information Technology Oy | Method and system for processing replicated transactions parallel in secondary server |
US7558883B1 (en) * | 2002-06-28 | 2009-07-07 | Microsoft Corporation | Fast transaction commit |
US7565433B1 (en) * | 2002-06-28 | 2009-07-21 | Microsoft Corporation | Byzantine paxos |
US7844577B2 (en) | 2002-07-15 | 2010-11-30 | Symantec Corporation | System and method for maintaining a backup storage system for a computer system |
US7620680B1 (en) | 2002-08-15 | 2009-11-17 | Microsoft Corporation | Fast byzantine paxos |
US8121978B2 (en) * | 2002-11-15 | 2012-02-21 | Sybase, Inc. | Database system providing improved methods for data replication |
US20040158549A1 (en) * | 2003-02-07 | 2004-08-12 | Vladimir Matena | Method and apparatus for online transaction processing |
US7251669B1 (en) * | 2003-03-31 | 2007-07-31 | Microsoft Corporation | System and method for database versioning |
US7409460B1 (en) * | 2003-05-12 | 2008-08-05 | F5 Networks, Inc. | Method and apparatus for managing network traffic |
US6845384B2 (en) * | 2003-08-01 | 2005-01-18 | Oracle International Corporation | One-phase commit in a shared-nothing database system |
US7290015B1 (en) * | 2003-10-02 | 2007-10-30 | Progress Software Corporation | High availability via data services |
US7600221B1 (en) * | 2003-10-06 | 2009-10-06 | Sun Microsystems, Inc. | Methods and apparatus of an architecture supporting execution of instructions in parallel |
US8005888B2 (en) * | 2003-12-30 | 2011-08-23 | Microsoft Corporation | Conflict fast consensus |
US7711825B2 (en) * | 2003-12-30 | 2010-05-04 | Microsoft Corporation | Simplified Paxos |
US7478400B1 (en) * | 2003-12-31 | 2009-01-13 | Symantec Operating Corporation | Efficient distributed transaction protocol for a distributed file sharing system |
US8108429B2 (en) * | 2004-05-07 | 2012-01-31 | Quest Software, Inc. | System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services |
US7814056B2 (en) | 2004-05-21 | 2010-10-12 | Computer Associates Think, Inc. | Method and apparatus for data backup using data blocks |
US7856502B2 (en) * | 2004-06-18 | 2010-12-21 | Microsoft Corporation | Cheap paxos |
US7249280B2 (en) * | 2004-06-18 | 2007-07-24 | Microsoft Corporation | Cheap paxos |
US7334154B2 (en) * | 2004-06-18 | 2008-02-19 | Microsoft Corporation | Efficient changing of replica sets in distributed fault-tolerant computing system |
US7698465B2 (en) * | 2004-11-23 | 2010-04-13 | Microsoft Corporation | Generalized Paxos |
US7555516B2 (en) * | 2004-11-23 | 2009-06-30 | Microsoft Corporation | Fast Paxos recovery |
US7392259B2 (en) * | 2004-12-14 | 2008-06-24 | Electronics And Telecommunications Research Institute | Method and system for supporting XQuery trigger in XML-DBMS based on relational DBMS |
US20070100739A1 (en) * | 2005-10-31 | 2007-05-03 | Sap Ag | Method and system for implementing a target group for integrated auction services on a seller's e-commerce site |
US7725446B2 (en) * | 2005-12-19 | 2010-05-25 | International Business Machines Corporation | Commitment of transactions in a distributed system |
US7603354B2 (en) * | 2006-02-09 | 2009-10-13 | Cinnober Financial Technology Ab | Method for enhancing the operation of a database |
US7650533B1 (en) * | 2006-04-20 | 2010-01-19 | Netapp, Inc. | Method and system for performing a restoration in a continuous data protection system |
US7434096B2 (en) * | 2006-08-11 | 2008-10-07 | Chicago Mercantile Exchange | Match server for a financial exchange having fault tolerant operation |
US7685171B1 (en) * | 2006-09-22 | 2010-03-23 | Emc Corporation | Techniques for performing a restoration operation using device scanning |
US8589357B2 (en) * | 2006-10-20 | 2013-11-19 | Oracle International Corporation | Techniques for automatically tracking and archiving transactional data changes |
US8024714B2 (en) * | 2006-11-17 | 2011-09-20 | Microsoft Corporation | Parallelizing sequential frameworks using transactions |
US8010550B2 (en) * | 2006-11-17 | 2011-08-30 | Microsoft Corporation | Parallelizing sequential frameworks using transactions |
US20080209145A1 (en) * | 2007-02-27 | 2008-08-28 | Shyamsundar Ranganathan | Techniques for asynchronous data replication |
US8868504B2 (en) * | 2007-03-07 | 2014-10-21 | Oracle International Corporation | Database system with active standby and nodes |
US7702662B2 (en) * | 2007-05-16 | 2010-04-20 | International Business Machines Corporation | Method and system for handling reallocated blocks in a file system |
US20090064160A1 (en) * | 2007-08-31 | 2009-03-05 | Microsoft Corporation | Transparent lazy maintenance of indexes and materialized views |
US7930274B2 (en) * | 2007-09-12 | 2011-04-19 | Sap Ag | Dual access to concurrent data in a database management system |
US7483922B1 (en) * | 2007-11-07 | 2009-01-27 | International Business Machines Corporation | Methods and computer program products for transaction consistent content replication |
US20090144220A1 (en) * | 2007-11-30 | 2009-06-04 | Yahoo! Inc. | System for storing distributed hashtables |
JP5192226B2 (ja) * | 2007-12-27 | 2013-05-08 | 株式会社日立製作所 | 待機系計算機の追加方法、計算機及び計算機システム |
US8001079B2 (en) | 2008-02-29 | 2011-08-16 | Double-Take Software Inc. | System and method for system state replication |
US8301593B2 (en) | 2008-06-12 | 2012-10-30 | Gravic, Inc. | Mixed mode synchronous and asynchronous replication system |
US9542431B2 (en) | 2008-10-24 | 2017-01-10 | Microsoft Technology Licensing, Llc | Cyclic commit transaction protocol |
US8140495B2 (en) | 2009-05-04 | 2012-03-20 | Microsoft Corporation | Asynchronous database index maintenance |
US20110178984A1 (en) | 2010-01-18 | 2011-07-21 | Microsoft Corporation | Replication protocol for database systems |
-
2010
- 2010-02-01 US US12/697,302 patent/US8825601B2/en active Active
-
2011
- 2011-01-31 CN CN201110037158.2A patent/CN102142024B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7222141B2 (en) * | 1998-12-24 | 2007-05-22 | International Business Machine Corporation | System and method for synchronizing data in multiple databases |
US7107419B1 (en) * | 2003-02-14 | 2006-09-12 | Google Inc. | Systems and methods for performing record append operations |
US20050138081A1 (en) * | 2003-05-14 | 2005-06-23 | Alshab Melanie A. | Method and system for reducing information latency in a business enterprise |
US20050240633A1 (en) * | 2004-04-23 | 2005-10-27 | Oracle International Corporation | Online recovery of user tables using flashback table |
US20070130226A1 (en) * | 2005-12-01 | 2007-06-07 | Oracle International Corporation | Database system that provides for history-enabled tables |
US20100005124A1 (en) * | 2006-12-07 | 2010-01-07 | Robert Edward Wagner | Automated method for identifying and repairing logical data discrepancies between database replicas in a database cluster |
Also Published As
Publication number | Publication date |
---|---|
US8825601B2 (en) | 2014-09-02 |
US20110191299A1 (en) | 2011-08-04 |
CN102142024A (zh) | 2011-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102142024B (zh) | 在分布式数据库中使用递增捕捉来进行逻辑数据备份和回退 | |
EP3428811B1 (en) | Database interface agent for a tenant-based upgrade system | |
US11768739B2 (en) | Manifest-based snapshots in distributed computing environments | |
JP6553822B2 (ja) | 分散システムにおける範囲の分割および移動 | |
CN102804183B (zh) | 在持续工作负荷下的数据重新组织 | |
US8924350B2 (en) | Shadow system mirroring of an original system during uptime of an upgrade process | |
CN106021016A (zh) | 在快照之间的虚拟时间点访问 | |
CN104040481A (zh) | 用于融合、存储和检索增量式备份数据的方法和*** | |
CN103842969A (zh) | 信息处理*** | |
DE202016107158U1 (de) | System zur automatischen cloudbasierten Volldatensicherung und Wiederherstellung von mobilen Geräten | |
CN102541694A (zh) | 一种数据库备份的方法及装置 | |
CN102272751B (zh) | 在数据库环境通过背景同步的数据完整性 | |
US20210081358A1 (en) | Background dataset maintenance | |
CN110209735A (zh) | 数据库备份方法、数据库备份装置、计算设备和存储介质 | |
JP2003296171A (ja) | 電子帳票管理方法及びプログラム | |
WO2022095366A1 (zh) | 基于Redis的数据读取方法、装置、设备及可读存储介质 | |
US20120324436A1 (en) | Method of updating versioned software using a shared cache | |
US11223528B2 (en) | Management of cloud-based shared content using predictive cost modeling | |
JP2005259057A (ja) | 更新履歴管理装置及び記録媒体 | |
CN103197987A (zh) | 一种数据备份的方法、数据恢复的方法及*** | |
US20140201434A1 (en) | Managing Volatile File Copies | |
US11042454B1 (en) | Restoration of a data source | |
US20070282926A1 (en) | System, Method and Computer Program Product for Storing Transient State Information | |
CN107220248A (zh) | 一种用于存储数据的方法和装置 | |
JP6355755B2 (ja) | 画面生成システム及び画面生成方法及び画面生成プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150728 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150728 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |