CN102142024A - 在分布式数据库中使用递增捕捉来进行逻辑数据备份和回退 - Google Patents

在分布式数据库中使用递增捕捉来进行逻辑数据备份和回退 Download PDF

Info

Publication number
CN102142024A
CN102142024A CN2011100371582A CN201110037158A CN102142024A CN 102142024 A CN102142024 A CN 102142024A CN 2011100371582 A CN2011100371582 A CN 2011100371582A CN 201110037158 A CN201110037158 A CN 201110037158A CN 102142024 A CN102142024 A CN 102142024A
Authority
CN
China
Prior art keywords
data
change
progressively
change data
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.)
Granted
Application number
CN2011100371582A
Other languages
English (en)
Other versions
CN102142024B (zh
Inventor
H·H·胡
吴中伟
O·N·泽利格
S·帕尔
C·罗伯
B·H·M·德尼
L·诺维克
N·R·埃利斯
T·塔留斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102142024A publication Critical patent/CN102142024A/zh
Application granted granted Critical
Publication of CN102142024B publication Critical patent/CN102142024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

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(数据库时间戳)列(TX DBTS和OP DBTS)。TX DBTS列跟踪插入、删除以及更新操作的较大事务上下文,而OP DBTS列跟踪单个插入、删除以及更新操作。
在变更变得永久(覆盖在生产数据上)之前,来自基表的数据被存储在捕捉和变更跟踪表304中。对于每一表群每一分区都存在一个活动的捕捉和变更跟踪表304。各列由基表数据的XML版本、用于帮助还原操作的UTC和DBTS跟踪列、以及与备份和还原两者都相关的其他元数据所组成。在对基表执行更新和删除操作时,对应触发器(删除触发器404和更新触发器406)激发并将旧数据复制到捕捉和变更跟踪表304中。
存在着关于捕捉和变更跟踪表304的视图408。触发器(404和406)引用这一视图408来间接引用大多数最近(活动)捕捉和变更跟踪表。捕捉和变更跟踪表304不能被直接引用,因为它的实际名称在清除旧捕捉和变更跟踪表期间变化。
可以提供存储基表的各模式版本的信息表。这对于跟踪跨还原操作的模式变更而言是有用的。备份服务306安装所有以上组件,并且还清除旧的(过期)捕捉和变更跟踪表。
还原所存储的过程410基于给定UTC时间将该分区还原到先前状态。过程410与其他组件一起安装。一个过程还原行群,并且另一过程还原整个分区。
在执行还原操作时,使用三个列来跟踪先前插入、删除以及更新操作的次序。这些列具有在每一插入、删除、以及更新操作时填充的默认值。每一列的默认值调用在插入、删除或更新操作期间自动地填充正确的值的函数(内部函数)。
TX DBTS允许通过事务来对基表及捕捉和变更跟踪表304中的各条目进行分类和编组。这使用返回该单独操作的当前事务的DBTS的内部函数。在服务器上,这一内部函数存储整个事务的当前DBTS并随后递增该DBTS。在这一内部函数被调用时,给定事务中的任何操作将具有同一DBTS值。任何其他DBTS引用将返回已递增的、当前非事务DBTS值。
OP DBTS展示每一操作的次序,并使用返回当前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(TX START DBTS)、操作DBTS(OP DBTS)、基于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和IEEE 1394等接口技术。
一个或多个程序和数据可被存储在存储器子系统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,但也可通过其它接口连接,如并行端口、IEEE 1394串行端口、游戏端口、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可用于使用诸如IEEE 802.xx标准家族等无线电技术来与有线/无线设备或实体通信,例如在操作上安置在与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话的无线通信(例如,IEEE 802.11空中调制技术)中的无线设备。这至少包括用于热点的Wi-Fi(即无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以是如对于常规网络那样的预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。Wi-Fi网络使用称为IEEE 802.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 (15)

1.一种具有物理介质的计算机实现的数据管理系统(100),包括:
捕捉递增变更数据的捕捉组件(102),所述递增变更数据与在分布式数据库的一分区中的数据上的数据操作相关联;
创建与所述递增变更数据的数据操作相关联的跟踪信息的跟踪组件(112);以及
将所述递增变更数据和相关联的跟踪信息存储在所述分区的一个表中的存储组件(116),所述递增变更数据高度可用。
2.如权利要求1所述的系统,其特征在于,还包括自动地启动所述递增变更数据的捕捉、所述跟踪信息的创建以及所述递增变更数据和所述跟踪信息两者在所述表中的存储的一个或多个触发器。
3.如权利要求1所述的系统,其特征在于,所述递增变更数据和所述跟踪信息以包括所述表中的已变更数据的自描述模式的人类可读的格式存储在所述表中。
4.如权利要求1所述的系统,其特征在于,所述递增变更数据和所述跟踪信息在与将所述数据变更提交给所述数据库的同一事务中被存储在所述表中。
5.如权利要求1所述的系统,其特征在于,所述递增变更数据被持久存储在所述数据所处的同一分区中。
6.如权利要求1所述的系统,其特征在于,所述递增变更数据是高度可用的并且可根据查询语言来搜索。
7.如权利要求1所述的系统,其特征在于,所述表包括递增变更数据的变更的历史,所述变更与数据操作发生时间、事务发生时间、或行创建时间中的至少一个相关联。
8.如权利要求1所述的系统,其特征在于,还包括用于将所述行的状态还原到先前时间点的回退组件。
9.如权利要求1所述的系统,其特征在于,还包括保留策略组件,所述保留策略组件便利于对保留策略的创建以及所述保留策略到所述递增变更数据和相关联的跟踪信息的应用。
10.一种使用处理器和存储器的计算机实现的数据管理方法,包括:
接收与分布式数据库中的数据的递增变更数据相关的数据操作(600);
响应于所述数据操作来捕捉所述递增变更数据(602);
创建与所述递增变更数据相关联的跟踪信息(604);以及
存储所述递增变更数据和跟踪信息(606)。
11.如权利要求10所述的方法,其特征在于,还包括将所述递增变更数据作为表中的一行并以包括自描述模式的XML格式来存储。
12.如权利要求10所述的方法,其特征在于,还包括使用结构化查询语言来查询所述递增变更数据。
13.如权利要求10所述的方法,其特征在于,还包括将保留策略应用于所述递增变更数据和跟踪信息。
14.如权利要求10所述的方法,其特征在于,还包括与所述递增变更数据的事务相关联地存储事务时间戳和数据操作时间戳。
15.如权利要求10所述的方法,其特征在于,还包括基于所述递增变更数据将回退操作应用于所述数据库以将所述数据回退到先前时间点。
CN201110037158.2A 2010-02-01 2011-01-31 在分布式数据库中使用递增捕捉来进行逻辑数据备份和回退 Active CN102142024B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/697,302 US8825601B2 (en) 2010-02-01 2010-02-01 Logical data backup and rollback using incremental capture in a distributed database
US12/697,302 2010-02-01

Publications (2)

Publication Number Publication Date
CN102142024A true CN102142024A (zh) 2011-08-03
CN102142024B 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)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678532A (zh) * 2013-12-02 2014-03-26 中国移动(深圳)有限公司 变更语句逆向分析方法、数据库变更回退方法及系统
CN103714062A (zh) * 2012-09-28 2014-04-09 国际商业机器公司 基于依赖关系导入实体-联系模型数据的方法和系统
CN103927373A (zh) * 2014-04-24 2014-07-16 湖北航云端科技有限公司 基于增量式关联规则技术的动态大数据模型高效建立方法
WO2015015502A1 (en) * 2013-07-29 2015-02-05 Hewlett-Packard Development Company, L.P. Writing to files and file meta-data
CN104468747A (zh) * 2014-11-23 2015-03-25 国云科技股份有限公司 一种基于b/s的高性能部署方法
CN104657364A (zh) * 2013-11-18 2015-05-27 华为技术有限公司 一种日志结构数据库系统查询请求消息处理方法及装置
CN105446824A (zh) * 2014-05-28 2016-03-30 无锡华润微电子有限公司 表增量获取方法及异地数据备份方法
CN105740131A (zh) * 2014-12-09 2016-07-06 深圳中兴力维技术有限公司 软件用户行为回退处理方法及装置
CN107819795A (zh) * 2016-09-12 2018-03-20 北京金山云网络技术有限公司 一种dns主辅服务器数据同步方法、装置及系统
CN108140046A (zh) * 2015-10-23 2018-06-08 甲骨文国际公司 对于任何半结构化数据格式的高效存储器中db查询处理
CN109032752A (zh) * 2017-06-12 2018-12-18 微软技术许可有限责任公司 基于云平台的操作撤销
CN109426585A (zh) * 2017-08-22 2019-03-05 阿里巴巴集团控股有限公司 一种备份、恢复数据库数据的方法和装置
CN110874383A (zh) * 2018-08-30 2020-03-10 阿里巴巴集团控股有限公司 数据处理方法、装置及电子设备
CN116975159A (zh) * 2023-09-25 2023-10-31 云筑信息科技(成都)有限公司 一种增量数据同步的处理方法

Families Citing this family (56)

* Cited by examiner, † Cited by third party
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
WO2011084987A1 (en) * 2010-01-05 2011-07-14 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
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
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
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
US10574630B2 (en) * 2011-02-15 2020-02-25 Webroot Inc. Methods and apparatus for malware threat research
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
WO2013153646A1 (ja) * 2012-04-12 2013-10-17 株式会社日立製作所 計算機システム、データ配置管理方法及びプログラム
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
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
US9128965B1 (en) * 2013-08-07 2015-09-08 Amazon Technologies, Inc. Configurable-capacity time-series tables
US9619581B2 (en) * 2013-12-20 2017-04-11 Microsoft Technology Licensing, Llc Constructing queries for execution over multi-dimensional data structures
US10007602B2 (en) * 2014-05-06 2018-06-26 International Business Machines Corporation Flash copy relationship management
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
CN105900093B (zh) * 2014-11-12 2018-02-02 华为技术有限公司 一种KeyValue数据库的数据表的更新方法与表数据更新装置
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
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
US10043026B1 (en) 2015-11-09 2018-08-07 8X8, Inc. Restricted replication for protection of replicated databases
US10021120B1 (en) 2015-11-09 2018-07-10 8X8, Inc. Delayed replication for protection of replicated databases
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 安徽四创电子股份有限公司 一种基于数据流的大数据增量抽取的数据交换平台
US10977244B2 (en) 2018-11-06 2021-04-13 Snowflake Inc. Tracking intermediate changes in database data
US11347714B2 (en) * 2018-11-06 2022-05-31 Snowflake Inc. Tracking 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

Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
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
US5613113A (en) * 1993-10-08 1997-03-18 International Business Machines Corporation Consistent recreation of events from activity logs
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
US5603026A (en) * 1994-12-07 1997-02-11 Xerox Corporation Application-specific conflict resolution for weakly consistent replicated databases
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
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
WO2003038614A2 (en) * 2001-10-30 2003-05-08 Koninklijke Philips Electronics N.V. Method and system for guaranteeing sequential consistency in distributed computations
JP4420325B2 (ja) * 2001-11-01 2010-02-24 ベリサイン・インコーポレイテッド トランザクションメモリ管理装置
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
JP2005515556A (ja) 2002-01-15 2005-05-26 ネットワーク アプライアンス, インコーポレイテッド 能動的ファイル変更通知
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
US7565433B1 (en) * 2002-06-28 2009-07-21 Microsoft Corporation Byzantine paxos
US7558883B1 (en) * 2002-06-28 2009-07-07 Microsoft Corporation Fast transaction commit
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
WO2004072816A2 (en) * 2003-02-07 2004-08-26 Lammina Systems Corporation 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
US7334154B2 (en) * 2004-06-18 2008-02-19 Microsoft Corporation Efficient changing of replica sets in distributed fault-tolerant computing system
US7249280B2 (en) * 2004-06-18 2007-07-24 Microsoft Corporation Cheap paxos
US7856502B2 (en) * 2004-06-18 2010-12-21 Microsoft Corporation Cheap paxos
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
US8010550B2 (en) * 2006-11-17 2011-08-30 Microsoft Corporation Parallelizing sequential frameworks using transactions
US8024714B2 (en) * 2006-11-17 2011-09-20 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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600562B2 (en) 2012-09-28 2017-03-21 International Business Machines Corporation Method and apparatus for asynchronized de-serialization of E-R model in a huge data trunk
CN103714062A (zh) * 2012-09-28 2014-04-09 国际商业机器公司 基于依赖关系导入实体-联系模型数据的方法和系统
US10089385B2 (en) 2012-09-28 2018-10-02 International Business Machines Corporation Method and apparatus for asynchroinzed de-serialization of E-R model in a huge data trunk
WO2015015502A1 (en) * 2013-07-29 2015-02-05 Hewlett-Packard Development Company, L.P. Writing to files and file meta-data
CN104657364B (zh) * 2013-11-18 2018-02-23 华为技术有限公司 一种日志结构数据库系统查询请求消息处理方法及装置
CN104657364A (zh) * 2013-11-18 2015-05-27 华为技术有限公司 一种日志结构数据库系统查询请求消息处理方法及装置
CN103678532A (zh) * 2013-12-02 2014-03-26 中国移动(深圳)有限公司 变更语句逆向分析方法、数据库变更回退方法及系统
CN103927373A (zh) * 2014-04-24 2014-07-16 湖北航云端科技有限公司 基于增量式关联规则技术的动态大数据模型高效建立方法
CN105446824A (zh) * 2014-05-28 2016-03-30 无锡华润微电子有限公司 表增量获取方法及异地数据备份方法
CN104468747A (zh) * 2014-11-23 2015-03-25 国云科技股份有限公司 一种基于b/s的高性能部署方法
CN105740131A (zh) * 2014-12-09 2016-07-06 深圳中兴力维技术有限公司 软件用户行为回退处理方法及装置
CN105740131B (zh) * 2014-12-09 2020-09-25 深圳力维智联技术有限公司 软件用户行为回退处理方法及装置
CN108140046A (zh) * 2015-10-23 2018-06-08 甲骨文国际公司 对于任何半结构化数据格式的高效存储器中db查询处理
CN108140046B (zh) * 2015-10-23 2021-06-18 甲骨文国际公司 对于任何半结构化数据格式的高效存储器中db查询处理
CN107819795A (zh) * 2016-09-12 2018-03-20 北京金山云网络技术有限公司 一种dns主辅服务器数据同步方法、装置及系统
CN109032752A (zh) * 2017-06-12 2018-12-18 微软技术许可有限责任公司 基于云平台的操作撤销
US11513918B2 (en) 2017-06-12 2022-11-29 Microsoft Technology Licensing, Llc Action undo service based on cloud platform
CN109032752B (zh) * 2017-06-12 2023-03-10 微软技术许可有限责任公司 基于云平台的操作撤销
CN109426585A (zh) * 2017-08-22 2019-03-05 阿里巴巴集团控股有限公司 一种备份、恢复数据库数据的方法和装置
CN110874383A (zh) * 2018-08-30 2020-03-10 阿里巴巴集团控股有限公司 数据处理方法、装置及电子设备
CN110874383B (zh) * 2018-08-30 2023-05-05 阿里云计算有限公司 数据处理方法、装置及电子设备
CN116975159A (zh) * 2023-09-25 2023-10-31 云筑信息科技(成都)有限公司 一种增量数据同步的处理方法
CN116975159B (zh) * 2023-09-25 2024-02-23 云筑信息科技(成都)有限公司 一种增量数据同步的处理方法

Also Published As

Publication number Publication date
CN102142024B (zh) 2016-04-06
US20110191299A1 (en) 2011-08-04
US8825601B2 (en) 2014-09-02

Similar Documents

Publication Publication Date Title
CN102142024A (zh) 在分布式数据库中使用递增捕捉来进行逻辑数据备份和回退
CN112534396B (zh) 数据库系统中的日记表
EP3428811B1 (en) Database interface agent for a tenant-based upgrade system
CN104040481B (zh) 用于融合、存储和检索增量式备份数据的方法和系统
US20180018241A1 (en) Visualizing restoration operation granularity for a database
JP6044539B2 (ja) 分散ストレージシステムおよび方法
US7257690B1 (en) Log-structured temporal shadow store
CN100504873C (zh) 管理归档文件系统的方法和装置
US11042503B1 (en) Continuous data protection and restoration
US20070094312A1 (en) Method for managing real-time data history of a file system
US20220004462A1 (en) Past-state backup generator and interface for database systems
CN102981931A (zh) 虚拟机备份方法及装置
US20220188196A1 (en) Continuous data protection
JP2003296171A (ja) 電子帳票管理方法及びプログラム
CN102414673A (zh) 智能的备份数据分层
EP2380090B1 (en) Data integrity in a database environment through background synchronization
CN107908503A (zh) 从备份系统流式恢复数据库
CN109933338B (zh) 区块链部署方法、装置、计算机设备和存储介质
US10642530B2 (en) Global occupancy aggregator for global garbage collection scheduling
CN111684437B (zh) 按时间顺序排序的错位更新键-值存储系统
CN103197987A (zh) 一种数据备份的方法、数据恢复的方法及系统
CN107220248A (zh) 一种用于存储数据的方法和装置
AU2020250158B2 (en) Reducing number of queries on a relational database
US11836125B1 (en) Scalable database dependency monitoring and visualization system
CN108376104B (zh) 节点调度方法及装置、计算机可读存储介质

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