CN100452030C - 用于在数据库恢复期间快照查询的系统和方法 - Google Patents

用于在数据库恢复期间快照查询的系统和方法 Download PDF

Info

Publication number
CN100452030C
CN100452030C CNB2004800017172A CN200480001717A CN100452030C CN 100452030 C CN100452030 C CN 100452030C CN B2004800017172 A CNB2004800017172 A CN B2004800017172A CN 200480001717 A CN200480001717 A CN 200480001717A CN 100452030 C CN100452030 C CN 100452030C
Authority
CN
China
Prior art keywords
affairs
database
lock
journal file
data item
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.)
Expired - Fee Related
Application number
CNB2004800017172A
Other languages
English (en)
Other versions
CN1842789A (zh
Inventor
X·魏
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 CN1842789A publication Critical patent/CN1842789A/zh
Application granted granted Critical
Publication of CN100452030C publication Critical patent/CN100452030C/zh
Expired - Fee Related 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
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • 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/2365Ensuring data consistency and integrity
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

用于在数据库经受恢复中,执行快照查询的方法允许在回滚或撤消操作期间访问数据库。该方法包括允许查询以便检测重做锁是否存在于数据项上,如果是,等待直到后续回滚操作释放锁为止。如果另一用户将排它的锁放在数据库的数据项上,通过从版本存储中读取数据项的版本,查询可以继续。在镜像数据库用于恢复的实施例中,恒定的重做操作具有相关版本存储。在故障在线恢复到镜像数据库时,通过允许读取重做操作的版本存储的查询,在恢复的重做阶段期间,开始查询。

Description

用于在数据库恢复期间快照查询的系统和方法
相关专利申请的交叉引用
本专利申请要求2004年3月29日提交的、U.S.专利申请序列号No.10/812,188的优先权,其内容在此全部引入以供参考。
共同未决专利申请的引用
下述文献具有与当前专利申请共同的一些主题。
与本专利申请共同转让、2003年6月23日提交的、共同未决专利申请序列号No.10/602,283,名为“RESYNCHRONIZATION OF MULTIPLE COPIES OF ADATABASE AFTER A DIVERGENCE IN TRANSACTION HISTORY”。
技术领域
本发明通常涉及计算机数据库领域。更具体地说,本发明涉及恢复操作期间的数据库访问。
背景技术
现代企业强烈地依赖数据库来保存极重要的记录,诸如客户、服务、供应商、帐单记录和库存。当数据库硬件或软件故障时,恢复数据库使得数据库操作可以继续变得十分紧迫的。在非常大型的数据库中,恢复漫长且成本很高。通常,在恢复期间,限制访问数据库,因为现有的技术不提供用于在恢复阶段期间访问的方法。
图1描述数据库的恢复时间线100。恢复的三个阶段是分析阶段105(A到B)、重做阶段110(B到C),以及撤消阶段115(C到D)。分析阶段105通常包括读取和分析与数据库有关的日志文件。通常,与数据库操作同时生成日志文件,例如,在数据库更新操作期间,日志文件记录相对于数据库出现的事务。这些事务可以启动读取操作和可以结束写入操作。然而,在写入数据提交给数据库中前,会发生数据库事件,诸如磁盘划伤。因此,日志文件会包含提交和未提交的事务。数据库恢复的分析阶段105通常包括读取日志文件上的所有事务。
数据库恢复时间线100的重做阶段110将日志文件项与数据库进行比较。如果日志文件中的事务,在数据库中表示则检查事务日志文件中的下一项。如果存在于日志文件中的事务不在数据库中,重做阶段将事务日志重新应用于数据库文件以便将事务记录为恢复过程的一部分。然而,重新输入的事务可能未完成,因为它永不提交到数据库中。已经在数据库中以及不需要再输入的事务也可能未完成。
通过从数据库有选择地移除未提交的事务,在恢复操作后,数据库重构会导致事务上一致形式。数据库恢复的撤消阶段115在日志文件不具有事务提交的记录的那些实例中,从数据库回滚事务。因此,移除未提交的事务以便数据库恢复会导致一致的提交事务集。
使用图1的数据库恢复方案的一些现有技术系统不能允许在撤消阶段115之前访问数据库。即,现有技术系统不能允许在所有恢复操作完成之前访问数据库。现有技术系统仅允许在恢复时间线100中的点D后访问。
因此,需要考虑更早进入数据库恢复时间线以便可访问的体系结构和方法。本发明满足上述需要以及如在此所述的带着另外的优点解决它们。
发明内容
本发明包括允许在恢复数据库期间访问数据库的方法。在一个实施例中,方法包括读取日志文件以及确定哪个事务要求进入到数据库作为恢复操作的一部分。未完成事务要求重做锁,在回滚(撤消)操作完成之前保持要求锁。根据本发明的一方面,假定查询测试在查询中请求的数据项的锁,在恢复的撤消阶段期间,会发生访问数据库。如果数据项具有重做锁。那么查询等待直到那些数据项移除的它们的重做锁为止。其他锁,诸如正常写入型锁,不延迟访问,因为查询可以读取查询数据的以前版本。
在本发明的另一实施例中,如果未进入事务象已进入那样地生成版本,在数据库处于恢复阶段时,也提供查询访问。在恢复的回滚阶段期间,通过提供对版本存储的查询访问,可以实现查询访问。版本存储是存储数据库项的版本地方。可以校验查询数据项的提交时间以便引导查询来从版本存储检索锁数据项。否则,可以从数据库检索查询项。
在本发明的一个实施例中,由于本发明的版本控制特征,其中,锁数据项具有可用于查询的数据的在前版本,用于恢复的镜像数据库系统准许在回滚恢复操作期间,访问镜像数据库。早期访问数据库的这一特征提供在此所述的可用性、并发性和其他优点。
附图说明
当结合附图阅读时,更好地理解上述概述以及优选实施例的下述详细描述。为示例说明本发明的实施例的目的,在图中示出了本发明的示例性结构,然而,本发明不限于所公开的具体的方法和手段。在图中:
图1是典型的数据库恢复的时间线;
图2是描述本发明的第一实施例的体系结构的框图;
图3是描述本发明的锁/释放方面的方法的流程图;
图4是描述本发明的镜像数据库实施例的框图;
图5是描述本发明的第二实施例的体系结构的框图;
图6是描述本发明的重做版本读取方面的方法的流程图;以及
图7是表示可以实现本发明的各方面的示例性计算环境的框图。
具体实施方式
概述
本发明的实施例允许在恢复的撤消阶段期间访问数据库。参考图1,现有技术系统允许只有在时间点D后才恢复。本发明的一些实施例实现时间点C的查询可访问性。通过使用采用行级版本控制和行级锁定的技术,这种较早可访问性是可能的。使用这一技术,需要在撤消阶段期间访问数据库的用户通过记下数据上的锁以及从数据库,或如果适当的话,从版本存储提取数据,可以从数据库读取事务上一致的数据。
在另一实施例中,本发明的各方面允许在故障在线恢复操作期间,获得对镜像数据库的访问的方法。在该实施例中,镜像数据库用来在主数据库故障时,提供数据库恢复机制。通过使用本发明的版本存储方面,便于在恢复期间访问镜像数据库。该方法允许用户在比现有技术数据库更早的时间,获得对镜像数据库的访问。
在使用图2讨论了示例性结构后,将结合图3-6,论述示例性方法和实施例。结合图7论述示例性计算环境。
本发明的示例性实施例
在与本申请共同转让的、2003年6月23日提交的,名为“RESYNCHRONIZATION OF MULTIPLE COPIES OF A DATABASE AFTER A DIVERGENCEIN TRANSACTION HISTORY”的共同未决专利申请序列号No.10/602,283中公开了在使用镜像数据库恢复方案的数据库恢复中的进步。该共同转让专利申请公开了用于容纳镜像数据库的方法和系统,在此全部引入以供参考。
在本发明的一个实施例中,行级版本控制有利地用来允许在时间点处数据库快照或数据库浏览。也称为快照隔离,行级版本控制通过在用户表中保存多个行版本,提高数据库应用并发性,以便信息的阅读程序和写入程序不彼此妨碍。行级版本控制在数据库上的操作时,诸如为更新或维护目的由其他人访问时提供存储数据库值的版本,以便可以由其他人读取数据的版本。快照查询是指只读查询,它返回直到特定时间点在数据库中由其他事务所做的一致的变化集。快照查询允许数据库的事务一致浏览以便在不妨碍更新事务的情况下,对于数据库的查询是可能的。
在一些现有技术系统中,如果事务改变一行,可以对于数据库表保持行级锁。一种锁的例子是由针对行的重做操作保持的锁。锁的第二例子可以是由获得对行访问的任何其他用户事务保持的锁。通常,在保持状态中维护行锁直到事务完成和写入程序提交为止。
行级版本控制允许对于数据库执行查询,通常不允许这种访问。行级版本控制允许数据库的阅读程序获得行的以前提交值,以致在系统中增加并发性。因此,对数据库系统来说,当更新时保存行的旧版本是有利的。行级版本控制为事务的阅读程序提供数据库的事务一致快照,从而允许有意义的查询。数据库的快照可以定义为,当阅读程序事务启动时,若忽略除阅读程序以外的所有活动事务的数据库的状态。
版本控制通过允许更新事务保存数据的旧版本工作,以便能由旧版本构造数据库的快照。当更新表中的记录或索引时,能用正执行更新的事务的事务序列号印记新记录。记录的旧版本可以存储在版本存储中,而新记录可以包含到版本存储中的旧记录的指针。版本存储中的旧记录可以包含到更早版本的指针。可以在链接列表中,链接特定记录的所有旧版本。通过两次沿链接指针到达用于数据库的特定快照的正确版本,可以获得正确版本。
图2示例说明表示可以用来实现本发明的方面的软件组件的框图200。用户查询205用作查询处理器210的输入。查询处理器调用访问方法215组件来执行数据库240的访问,诸如读或写。访问方法也可以从锁管理器220读取和分析位于数据库行上的锁。访问方法也可以从版本存储230接收版本记录以帮助实现数据库240的访问。
图2的组件可以在恢复的撤消阶段中有效,其中回滚未提交的事务以便产生事务一致数据库状态。登录和恢复管理器250在数据库240上执行重做和撤消操作。登录和恢复管理器从数据库日志文件260接收包括提交和未提交事务的事务信息。
图3是表示在数据库处于恢复模式时,允许数据库的更大可用性的本发明的方法300的流程图。在恢复中,数据库可以通过读取日志文件事务,开始分析阶段(步骤310)。在该分析阶段,识别未完成的事务。未完成的事务缺少提交日志记录。作为重做阶段的一部分,在日志文件中识别未进入的事务(步骤315)。未进入的事务是日志文件中、数据库中遗漏或未反映的那些事务。将所检测的未进入事务重新进入到数据库中,作为恢复情况的一部分。在一个实施例中,可以使用SQL标准数据库。通常,可以通过一系列一个或多个重做指令,执行重新进入事务。重做指令将这些指令插入在日志文件中反映的数据库中,但在恢复前,不存在于该数据库中。(步骤320)。在该重做阶段期间,通过用于不完成(未提交)事务的重做操作,可以保持数据库的行、页、表或索引上的锁直到这些事务回滚为止。
恢复方案的最后一个阶段移除未提交的那些事务以便产生事务一致数据库。在SQL环境中,可以经一个或多个撤消指令,完成所选择的未提交事务的移除。图3的步骤325表示撤消阶段可以在完成重做阶段后开始。通常,恢复的撤消阶段必须在对任何读取或写入操作,准许访问数据库前完成。然而,本发明有利地允许在撤消阶段开始时访问数据库(步骤330)。
可以通过查询数据库中的行、页、索引、表或其他结构,启动在撤消阶段期间访问数据库。该查询可以在基于锁定的隔离级或基于快照的隔离级下操作。隔离级是查询的属性,它支配查询的并发性行为以及当存在影响结果集的并发更新时,可以导致对查询的不同结果集。步骤332测试查询是基于快照的查询还是基于锁定的查询。如果查询是基于锁定的查询,当其可用时,可以从数据库读取所需查询数据(步骤334)。然而,如果查询是基于快照的查询,那么进入步骤335。应注意到如果先验已知查询是基于快照的查询,可以省略步骤332。
图3中的步骤335-355描述在基于快照的隔离级下,包含查询操作的示例流程。使用本发明的一个方面,如上所述的行级锁和数据库版本控制可以结合本方法使用。在处理查询中,方法300校验位于数据库元素上的排它或写入型锁的存在(步骤335)。如果不存在排它或写入型锁,可以执行可用相关数据的读取(步骤355)。注意可以存在共享或读取型锁。在那个实例中,步骤335判定失败允许从步骤335测试和读取。
步骤355包含有关将读取哪个数据源的测试。在快照查询环境中,数据最好是时间一致和事务一致。隐式测试将查询的开始时间和正访问的数据的提交时间进行比较。如果开始时间在提交时间前,应当使用数据的版本存储。否则,提交数据,数据在事务上和时间上一致,并可以从数据库安全地读取数据。由此步骤355可以包括根据数据的一致性状态,从数据库或数据库值的版本存储读取。如果从版本存储读取,根据数据的一致性状态,从几个提交的版本中,选择正确版本。
如果写入型锁存在,可以测试锁的锁类型(步骤340)。如果在重做阶段期间获得锁,那么用锁保护的数据可以不具有读取的版本存储值。然后,通过等待在数据库恢复的撤消阶段期间将释放的重做锁,延迟访问(步骤345)。一旦重做锁被释放,可发生检测和数据读取(步骤355)。再次,步骤355可以包括从数据库或数据库值的版本存储读取。如果不保持重做型锁,那么可以执行即时数据读取(步骤355)。除在数据库的行、页、表或索引上存在一些锁类型外,该数据读取允许访问继续。一些类型的锁的例子是由另一用户或查询保持的排它(写入型)锁。这种排它锁防止多个用户或查询同时访问相同的数据。值得注意的是存在等待释放重做锁的几个用户或查询,以及在那些用户中,将执行版本读取(也称为在基于快照的隔离级下操作)的人具有比为了访问数据需要获得共享锁的那些人更高的优先级。后一类型的用户称为在基于锁定的隔离级下操作。
在本发明的另一实施例中,本发明的各方面可以有利地结合镜像数据库使用。在主数据库故障的情况下,镜像数据库可以用作备份数据库。图4描述为高可用性目的,主数据库410具有相应的镜像数据库420的系统400。系统400的特征是始终将主数据库日志415发送到镜像数据库方以便所发送的日志文件425可以更新镜像数据库420来反映主数据库410的事务。
图4的系统400的特征在于镜像数据库420正执行不变的重做操作以添加由所发送的文件日志425接收的事务。而在重做阶段中,镜像数据库420还始终获得更新的数据库元素的行、页、表和索引上的适当锁。如果在该系统中,应用版本控制以便使用版本存储来在更新时存储事务数据的版本,那么可以应用本发明的其他特征。
图5描述体现本发明的各方面的系统500的框图。将事务日志记录从主数据库510运送到镜像数据库520。假定SQL环境,重做过程530在镜像数据库520上执行重做指令。重做过程还在版本存储550中生成版本,同时从锁管理器540获得锁。只要生成版本的事务结束,则能移除在重做期间,为镜像数据库生成的版本。还存在在版本存储550上起作用以便移除不必要的版本来释放和重用由版本记录消耗的空间的背景版本存储清除过程560。在一个实施例中,版本记录可以存储在磁盘上,并可以使用如存储器内高速缓存的缓冲池访问。图5的体系结构支持,允许在恢复期间访问镜像数据库的方法。
图6描述在恢复操作期间,支持早期准许访问数据库的本发明的示例性方法。在一个实施例中,可以在主数据库的故障在线恢复后,正在恢复的镜像数据库上执行恢复操作。在该实施例中,通过从主数据库接收最后一个更新,镜像数据库的重做操作可以以故障在线恢复结束,并可以开始撤消操作。因此,本发明的特征允许在撤消恢复操作期间访问,有利地允许比现有技术系统更早时间的访问。
图6描述本发明的方法600的流程图。该方法600通过由数据库接收日志文件开始(步骤610)。将未进入事务插入数据库中。在SQL环境中,插入操作可以使用重做指令。在重做操作期间,根据本发明的特征可以进行版本记录,并保持适当的重做锁(步骤620)。当重做操作停止时,与当进入来自的未进入事务时一样,数据库恢复的撤消阶段可以开始(步骤625)。
在该点,方法600根据本发明的版本控制特征,可以允许访问数据库(630)。访问可以是针对数据库的查询。该方法测试查询是否在基于快照的隔离级下操作(步骤640)。如果隔离是基于快照,可以执行从版本存储或数据库的测试和读取(步骤650)。注意步骤650,从版本存储或数据库测试和读取与在图3的步骤355中的执行类似。如前,测试和读取是从数据库还是从版本存储读取取决于所需数据的时间和事务一致性。返回到图6,可以完成步骤650,因为重做过程当正从日志文件实施不执行的事务时,创建数据的版本(步骤620)。如果隔离是基于锁定的,可以安全地使用数据库本身(步骤645)以便在准许共享锁查询后,获得对于查询的所需数据。
应注意到对方法600中的测试来说,锁的类型(即是否通过REDO过程获得)可以是不必要的。还注意到如上所述,重做过程(步骤620)生成数据的版本。还应注意到改变数据的事务也生成数据的版本以便由未提交事务锁的任何行、页、表或索引具有版本存储数据以便为快照查询提供用于读取访问所需的信息。
示例性计算设备
图7和下述论述意图提供可以实现本发明的实施例的适当的计算环境的简单概述。尽管下面描述通用计算机,但这仅是一个例子,以及本发明的实施例可以通过其他计算设备,诸如具有网络/总线互操作性和相互作用的客户机实现。因此,本发明的实施例可以在涉及非常少或最少客户资源的连网宿主服务的环境中实现,例如客户设备仅用作网络/总线的接口,诸如对象位于设备中,或其他计算设备和对象中情况。实际上,可以存储数据或从其检索数据的任何环境是用于操作的期望、适合的环境。
尽管不要求,也能经操作系统实现本发明的实施例,用于由用于设备或对象的服务的开发者使用,和/或包括在应用软件中。软件可以用由一个或多个计算机,诸如客户工作站、服务器或其他设备执行的计算机可执行指令的一般上下文描述,诸如程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,根据各种环境的需要,可以组合或分布程序模块的功能性。此外,本领域的技术人员将意识到本发明的各种实施例可以用其他计算机配置实现。可以适合于使用的其他众所周知的计算系统、环境和/或配置包括但不限于个人计算机(PCs)、自动取款机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备、网络PCs、仪器、灯光、环境控制元件、小计算机、大型计算机等等。本发明的实施例也可以用在分布式计算环境中,其中由通过通信网络/总线或其他数据传输介质链接的远程处理设备执行任务。在分布式计算环境中,程序模块可位于包括存储器存储设备的本地和远程计算机存储介质中,以及客户节点又可以充当服务器节点。
因此,图7示例说明可以实现本发明的实施例的适当的计算系统环境700的例子,尽管如上清楚所述,计算系统环境700仅是适当的计算环境的一个例子并不打算提出有关本发明的实施例的使用或功能性的范围的任何限制。既不应当将计算环境700解释为具有任何相关性,也不应当解释为对在示例性操作环境700中所示的组件的任何一个或组合具有依赖性或需求。
参考图7,用于实现本发明的实施例的示例性系统包括以计算机系统710的形式的通用计算设备。计算系统710的组件可以包括但不限于处理单元720、系统存储器730和将包括系统存储器的各种系统组件连接到处理单元720的系统总线721。系统总线721可以是任何类型的总线结构,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构的任何一个的局部总线。举例来说,但不是限制,这种体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线(也称为Mezzanine总线())。
计算机系统710通常包括各种计算机可读介质。计算机可读介质能是能由计算机系统710访问的任何可用介质,并包括易失和非易失介质、可移动和不可移动介质。举例来说,但不是限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的易失和非易失、可移动和不可移动介质,用于存储信息,诸如计算机可读指令、数据结构、程序模块或其他数据。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CDROM)、可写光盘(CDRW)、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备,或能用来存储所需信息并能由计算机系统710访问的任何其他介质。通信介质通常是体现调制数据信号,诸如载波或其他传输机制中嵌入计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息递送介质。术语“调制数据信号”是指具有以在信号中信息编码的方式,设置或改变的一个或多个特性的信号。举例来说,但不是限制,通信介质包括有线介质,诸如有线网络或直接布线连接,以及无线介质,诸如声波、RF、红外和其他无线介质。上述的任何一个的组合应当包括在计算机可读介质的范围内。
系统存储器730包括以易失和/或非易失存储器形式的计算机存储介质,诸如只读存储器(ROM)731和随机存取存储器(RAM)732。包含有助于诸如在启动期间在计算机系统710内的元件间传送信息的基本例程的基本输入/输出系统733(BIOS)通常存储在ROM731中。RAM732通常包含由处理单元720立即存取和/或当前在其上操作的数据和/或程序模块。举例来说,但不是限制,图7示例说明操作系统734、应用程序735、其他程序模块736和程序数据737。
计算机系统710也可以包括其他可移动/不可移动、易失/不可易失计算机存储介质。仅举例来说,图7示例说明读取或写入不可移动、非易失磁性介质的硬盘驱动器741、读取或写入可移动、非易失磁盘752的磁盘驱动器751、以及读取或写入可移动、非易失光盘756,诸如CD ROM、CDRW、DVD或其他光介质的光盘驱动器755。能用在示例性操作环境中的其他可移动/不可移动、易失/不可易失计算机存储介质包括但不限于磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器741通常通过不可移动存储器接口,诸如接口740连接到系统总线721,以及磁盘驱动器751和光盘驱动器755通常通过可移动存储器接口,诸如接口750,连接到系统总线721。
图7中所述和示例说明的驱动器和它们的相关计算机存储介质为计算机系统710提供计算机可读指令、数据结构、程序模块或其他数据的存储。在图7中,例如,硬盘驱动器741示例为存储操作系统744、应用程序745、其他程序模块746和程序数据747。注意这些组件可以与操作系统734、应用程序735、其他程序模块736和程序数据737相同或不同。在此向操作系统744、应用程序745、其他程序模块746和程序数据747提供不同的序号以示例说明至少它们是不同副本。通过输入设备,诸如键盘762和定位设备761,通常称为鼠标、跟踪球或触模板,用户可以将命令和信息输入到计算机系统710中。其他输入设备(未示出)可以包括麦克风、游戏杆、操纵垫、卫星盘、扫描仪等等。这些和其他输入设备通常通过连接到系统总线721的用户输入接口760连接到处理单元720,但也可以通过其他接口和总线结构连接,诸如并行端口、游戏端口或通用串行总线(USB)。经可以与视频存储器(未示出)通信的接口,诸如视频接口790,监视器791或其他类型的显示设备也连接到系统总线721。除监视器791外,计算机系统还可以包括其他外围输出设备,诸如扬声器797和打印机796,它们可以通过输出外围接口795连接。
使用到一个或多个远程计算机,诸如远程计算机780的逻辑连接,计算机系统710可以在连网或分布式环境中操作。远程计算机780可以是个人计算机、服务器、路由器、网络PC、对等设备或其他公用网络节点,并通常包括相对于计算机系统710所述的许多或全部元件,尽管在图7中仅示例说明存储器存储设备781。图7中所述的逻辑连接包括局域网(LAN)771和广域网(WAN)773,但也可以包括其他网络/总线。这些连网环境在家庭、办公室、企业范围计算机网络、内联网和互连网中是很常见的。
当用在LAN连接环境中时,计算机系统710通过网络接口或适配器770连接到LAN771。当用在WAN连接环境中时,计算机系统710通常包括调制解调器772或其他装置,用于在WAN773,诸如Internet上建立通信。可以是内置或外接的调制解调器可以经用户输入接口760或其他适当的机制,连接到系统总线721。在连网环境中,相对于计算机系统710所述的程序模块或其一部分可以存储在远程存储器存储设备中。举例来说,但不是限制,图7将远程应用程序785示例为驻留在存储器设备781上。将意识到所示的网络连接是示例性的,以及可以使用在计算机间建立通信链路的其他装置。
鉴于个人计算和Internet的会聚,已经开发和正在开发各种分布式计算框架。为个人和企业用户同样地提供用于应用和计算设备的无缝能共同操作和允许Web的接口,使计算活动性日益面向Web浏览器或网络。
例如,可从微软公司获得的
Figure C20048000171700181
NETTM平台包括服务器、积木块式服务,诸如基于Web的数据存储,以及可下载设备软件。尽管结合驻留在计算设备上的软件描述示例性实施例,经操作系统、应用编程接口(API)或在协处理器、显示设备和请求对象的任何一个之间的“中间人”对象,可以实现本发明的实施例的一个或多个部分,以便可以以所有NETTM的语言和服务,并在其他分布式计算框架中执行支持、访问和该操作。
如上所述,尽管结合各种计算设备和网络体系结构描述了本发明的示例性实施例,基本原理可以适用于期望在恢复的撤消阶段期间,获得访问数据库的任何计算设备或系统。因此,结合本发明的实施例所述的方法和系统可以适用于各种应用和设备。尽管在此选择示例性编程语言、名称和例子作为各种选择的表示,但不打算限定于这些语言、名称和例子。本领域的普通技术人员将意识到存在提供实现与通过本发明的实施例实现的相同、类似或等效的系统和方法的对象编码的各种方法。
在此所述的各种技术可以结合硬件或软件,或者如果适当的话,通过二者的结合来实现。因此,本发明的方法和装置,或其某些特征或部分可以采用嵌入有形介质,诸如软盘、CD-ROM、硬盘驱动器或任何其他机器可读存储介质中的程序代码(即指令)的形式,其中,当加载程序代码到机器,诸如计算机并由其执行时,该机器变成用于实施本发明的装置。在可编程计算机上的程序代码执行的情况下,计算设备通常将包括处理器、可由处理器读取的存储介质(包括易失和非易失存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。例如,通过使用数据处理API等等,可以利用本发明的实施例的一个或多个程序最好用高级过程的或面向对象的编程语言实现以便与计算机通信。然而,如果需要能用汇编或机器语言实现程序。在任何情况下,语言可以是编译或解释语言,以及结合硬件实现。
尽管结合各个图的优选实施例描述了本发明的特征,将理解到可以使用其他类似的实施例,或可以对所述的实施例进行修改或增加,用于执行本发明的相同功能,而不偏离本发明。此外,应当强调考虑了各种计算机平台,包括手持设备操作系统和其他应用专用的操作系统,特别是当无线连网设备的数量持续激增时。因此,所要求的发明不限于任何单个实施例,而是应当根据附加权利要求解释宽度和范围。

Claims (25)

1.一种在数据库恢复期间查询数据库的方法,所述方法包括:
读取包含日志文件事务的日志文件以便查找未完成事务,其中所述未完成事务缺少提交日志记录;
将所述日志文件事务与在所述数据库中反映的事务进行比较以便查找未进入事务,其中所述未进入事务是在日志文件中的从数据库中遗漏或未反映在数据库中的那些事务;
将所述未进入事务插入所述数据库中;
保持与每个未完成事务有关的数据项上的第一锁类型;
如果在所述日志文件中,一个事务未提交,移除在所述数据库中反映的该事务,其中,所述事务的移除将与所述未完成事务有关的数据项上的第一锁类型解除保持;以及
允许与移除未完成事务并发的数据库快照查询,其中,如果在第一数据项上检测到第一锁类型,则延迟所述快照查询直到解除保持所述第一锁类型为止。
2.如权利要求1所述的方法,其特征在于,保持第一锁类型的步骤包括保持行、页、表和索引的至少一个。
3.如权利要求1所述的方法,其特征在于,保持第一锁类型的步骤包括保持重做锁。
4.如权利要求1所述的方法,其特征在于,进一步包括:
允许与移除未完成事务并发的数据库快照查询,其中,如果在第二事务上检测到第二锁类型,执行从所述第二事务的以前版本的读取。
5.如权利要求4所述的方法,其特征在于,所述第二锁类型包括读和写锁中的一个。
6.一种使用数据库快照在数据库恢复期间查询数据库的方法,所述方法包括:
读取包含日志文件事务的日志文件以便查找未完成事务,其中所述未完成事务缺少提交日志记录;
将所述日志文件事务与在所述数据库中反映的事务进行比较以便查找未进入事务,其中所述未进入事务是在日志文件中的从数据库中遗漏或未反映在数据库中的那些事务;
将所述未进入事务插入所述数据库中;
如果在所述日志文件中未提交未完成事务,从所述数据库移除未完成事务;
允许与移除未完成事务并发的、相对于所述数据库的快照查询,其中,并发但更早启动的查询保持数据项上的锁并存储所述数据项的第一版本;以及
测试与所述快照查询的数据项有关的锁,其中,如果检测到与对应于快照查询的所述数据项有关的锁,则执行从所述数据项的第一版本的读取。
7.如权利要求6所述的方法,其特征在于,允许快照查询的步骤包括保持所述数据项上的读和写锁的一个。
8.一种在恢复数据库期间查询数据库的方法,所述方法包括:
读取包含日志文件事务的日志文件以便查找未完成事务,其中所述未完成事务缺少提交日志记录;
识别所述日志文件事务内的未进入的事务,其中所述未进入事务是在日志文件中的从数据库中遗漏或未反映在数据库中的那些事务;
将所述未进入事务插入所述数据库中,其中,生成相应的版本记录以及保持相应单个数据项上的锁;
如果在所述日志文件中未提交事务,从所述数据库移除事务,其中事务的移除将相应单个数据项上的锁解除保持;
允许与移除所述未完成事务并发的、相对于所述数据库的快照查询;以及
测试与对应于所述新查询的数据项有关的提交时间,其中,如果提交时间在新查询的开始时间后,则执行从所述数据项的以前版本记录的读取。
9.如权利要求8所述的方法,其特征在于,将未进入事务插入所述数据库中进一步包括在主数据库故障前,将所述未进入事务插入镜像数据库中。
10.如权利要求9所述的方法,其特征在于,将所述未进入事务从主数据库传送到镜像数据库。
11.一种用于在恢复数据库期间查询数据库的系统,所述系统包括:
处理器,访问存储器,所述存储器具有软件组件的指令;以及
软件组件,当被执行时:
读取包含日志文件事务的日志文件以便查找未完成事务,其中所述未完成事务缺少提交日志记录;
将所述日志文件事务与在所述数据库中反映的事务进行比较以便查
找未进入事务,其中所述未进入事务是在日志文件中的从数据库中遗漏或
未反映在数据库中的那些事务;
对未进入事务,执行重做操作;
对未提交事务,执行撤消操作;
允许与所述撤消操作并发、针对所述数据库的快照查询;以及
测试与所述快照查询的数据项有关的锁,其中,如果检测到与重做操
作有关的锁,执行从所述数据项的以前版本的读取。
12.如权利要求11所述的系统,其特征在于,在行、页、表和索引的一个的重做操作上,保持锁。
13.如权利要求11所述的系统,其特征在于,进一步包括显示器,在其上浏览查询结果。
14.一种用于在恢复数据库期间查询数据库的系统,所述系统包括:
镜像数据库,在所述镜像数据库中,从主数据库接收日志文件事务;
所述镜像数据库中的数据库处理器,所述数据库处理器访问存储器,所述存储器具有软件组件的指令;以及
软件组件,当被执行时:
读取日志文件事务以便识别未完成事务,其中所述未完成事务缺少提交日志记录;
将所述日志文件事务与在所述数据库中反映的事务进行比较以便查找未进入的事务,其中所述未进入事务是在日志文件中的从数据库中遗漏或未反映在数据库中的那些事务;
使用所述未进入事务,执行重做操作,所述重做操作保持锁,其中,生成相应的版本记录并保持相应单个数据项上的锁;
如果在所述日志文件事务中未提交事务,执行撤消操作,其中,撤消操作解除保持相应单个数据项上的锁;
允许与撤消操作并发、针对所述镜像数据库的快照查询;以及
测试与对应于所述快照查询的数据项有关的锁,其中,如果检测到锁,执行从所述数据项的以前版本记录的读取。
15.如权利要求14所述的系统,其特征在于,执行重做操作进一步包括在主数据库故障前,在所述镜像数据库上执行重做操作。
16.如权利要求14所述的系统,其特征在于,执行撤消操作发生在主数据库故障后。
17.一种用于在恢复数据库期间查询数据库的系统,所述系统包括:
用于读取包含日志文件事务的日志文件以便查找未完成事务的装置,其中所述未完成事务缺少提交日志记录;
用于将所述日志文件事务与在所述数据库中反映的事务进行比较以便查找未进入事务的装置,其中所述未进入事务是在日志文件中的从数据库中遗漏或未反映在数据库中的那些事务;
用于将所述未进入事务插入所述数据库中的装置;
用于保持与每个未完成事务有关的数据项上的第一锁类型的装置;
用于如果在所述日志文件中,未提交事务,移除在所述数据库中反映的事务的装置,其中,所述事务的移除将与所述未完成事务有关的数据项上的第一锁类型解除保持;以及
用于允许与移除未完成事务并发的数据库快照查询的装置,其中,如果在第一数据项上检测到第一锁类型,延迟所述快照查询直到解除保持所述第一锁类型为止。
18.如权利要求17所述的系统,其特征在于,所述系统进一步包括:
用于允许与移除未完成事务并发的数据库快照查询的装置,其中,如果在第二事务上检测到第二锁类型,则执行从所述第二事务的以前版本的读取。
19.一种用于使用数据库的快照在恢复数据库期间查询数据库的系统,所述系统包括:
用于读取包含日志文件事务的日志文件以便查找未完成事务的装置,其中所述未完成事务缺少提交日志记录;
用于将所述日志文件事务与在所述数据库中反映的事务进行比较以便查找未进入事务的装置,其中所述未进入事务是在日志文件中的从数据库中遗漏或未反映在数据库中的那些事务;
用于将所述未进入事务插入所述数据库中的装置;
用于如果在所述日志文件中未提交未完成事务,从所述数据库移除未完成事务的装置;
用于允许与移除未完成事务并发的、针对所述数据库的快照查询的装置,其中,并发但更早启动的查询保持数据项上的锁并存储所述数据项的第一版本;以及
用于测试与所述快照查询的数据项有关的锁的装置,其中,如果检测到与对应于快照查询的所述数据项有关的锁,则执行从所述数据项的第一版本的读取。
20.如权利要求19所述的系统,其特征在于,允许快照查询的装置包括用于保持在所述数据项上的读取和写入锁的一个的装置。
21.一种用于在恢复数据库期间查询数据库的系统,所述系统包括:
用于读取包含日志文件事务的日志文件以便查找未完成事务的装置,其中所述未完成事务缺少提交日志记录;
用于识别所述日志文件事务内的未进入事务的装置,其中所述未进入事务是在日志文件中的从数据库中遗漏或未反映在数据库中的那些事务;
用于将所述未进入事务插入所述数据库中,其中,生成相应的版本记录并保持对应单个数据项上的锁的装置;
用于如果在所述日志文件中未提交一事务,从所述数据库移除所述事务的装置,其中所述事务的移除将对应单个数据项上的锁解除保持;
用于允许与移除所述未完成事务并发的、针对所述数据库的快照查询的装置;以及
用于测试与对应于所述新查询的数据项有关的提交时间的装置,其中,如果提交时间在新查询的开始时间后,执行从所述数据项的以前版本记录的读取。
22.如权利要求21所述的系统,其特征在于,用于将未进入事务插入所述数据库中的装置进一步包括用于在主数据库故障前,将所述未进入事务插入镜像数据库中的装置。
23.如权利要求21所述的系统,其特征在于,将所述未进入事务从主数据库传送到镜像数据库。
24.一种在恢复数据库期间查询数据库的系统,所述系统包括:
处理器,具有对存储器的访问,所述处理器具有:
用于读取包含日志文件事务的日志文件以便查找未完成事务的装置,其中所述未完成事务缺少提交日志记录;
用于将所述日志文件事务与在所述数据库中反映的事务进行比较以便查找未进入的事务的装置,其中所述未进入事务是在日志文件中的从数据库中遗漏或未反映在数据库中的那些事务;
用于对至少一个未进入事务,实施至少一个重做操作的装置;
用于对至少一个未提交事务,实施至少一个撤消操作的装置;
用于允许与所述至少一个撤消操作并发、针对所述数据库的快照查询的装置;以及
用于测试与所述快照查询的数据项有关的锁的装置,其中,如果检测到与重做操作有关的锁,执行从所述数据项的以前版本的读取。
25.一种用于在恢复数据库期间查询数据库的系统,所述系统包括:
镜像数据库,它具有从主数据库接收日志文件事务的装置;
所述镜像数据库中的数据库处理器,所述数据库处理器具有:
用于读取日志文件事务以便识别未完成事务的装置;
用于使用所述未进入事务,执行重做操作的装置,所述重做操作保持锁,其中,生成相应的版本记录以及保持相应单个数据项上的锁;
用于如果在所述日志文件中未提交事务,执行撤消操作的装置,其中,撤消操作解除保持相应单个数据项上的锁;
用于允许与撤消操作并发、针对所述镜像数据库的快照查询的装置;以及
用于测试与对应于所述快照查询的数据库有关的锁的装置,其中,如果检测锁,执行从所述数据项的以前版本记录的读取。
CNB2004800017172A 2004-03-29 2004-07-29 用于在数据库恢复期间快照查询的系统和方法 Expired - Fee Related CN100452030C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/812,188 US7146386B2 (en) 2004-03-29 2004-03-29 System and method for a snapshot query during database recovery
US10/812,188 2004-03-29

Publications (2)

Publication Number Publication Date
CN1842789A CN1842789A (zh) 2006-10-04
CN100452030C true CN100452030C (zh) 2009-01-14

Family

ID=34991366

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800017172A Expired - Fee Related CN100452030C (zh) 2004-03-29 2004-07-29 用于在数据库恢复期间快照查询的系统和方法

Country Status (6)

Country Link
US (1) US7146386B2 (zh)
EP (1) EP1687710A4 (zh)
JP (1) JP4598821B2 (zh)
KR (1) KR101099199B1 (zh)
CN (1) CN100452030C (zh)
WO (1) WO2005103880A2 (zh)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293286B2 (en) 2003-02-20 2007-11-06 Bea Systems, Inc. Federated management of content repositories
US7840614B2 (en) 2003-02-20 2010-11-23 Bea Systems, Inc. Virtual content repository application program interface
US7146386B2 (en) 2004-03-29 2006-12-05 Microsoft Corporation System and method for a snapshot query during database recovery
US20050228816A1 (en) * 2004-04-13 2005-10-13 Bea Systems, Inc. System and method for content type versions
US8086580B2 (en) * 2005-01-11 2011-12-27 International Business Machines Corporation Handling access requests to a page while copying an updated page of data to storage
US7627584B2 (en) * 2005-11-30 2009-12-01 Oracle International Corporation Database system configured for automatic failover with no data loss
US7668879B2 (en) * 2005-11-30 2010-02-23 Oracle International Corporation Database system configured for automatic failover with no data loss
US8145947B1 (en) * 2006-09-29 2012-03-27 Emc Corporation User customizable CVFS namespace
US9483525B2 (en) 2007-04-30 2016-11-01 Microsoft Technology Licensing, Llc Reducing update conflicts when maintaining views
US7805632B1 (en) * 2007-09-24 2010-09-28 Net App, Inc. Storage system and method for rapidly recovering from a system failure
US8290966B2 (en) * 2007-11-29 2012-10-16 Sap Aktiengesellschaft System and method for implementing a non-destructive tree filter
TW201011531A (en) * 2008-09-03 2010-03-16 Asustek Comp Inc Computer system and related method of logging BIOS update operation
KR100926098B1 (ko) * 2008-11-18 2009-11-11 주식회사 네오플 스냅샷 데이터베이스를 이용한 정보 복구 방법 및 장치
US8380663B2 (en) * 2008-12-17 2013-02-19 Sybase, Inc. Data integrity in a database environment through background synchronization
WO2010116405A1 (ja) * 2009-04-06 2010-10-14 株式会社日立製作所 不揮発性の主記憶を備えた計算機システム
US8555009B1 (en) * 2009-07-31 2013-10-08 Symantec Corporation Method and apparatus for enabling and managing application input/output activity while restoring a data store
US8793288B2 (en) * 2009-12-16 2014-07-29 Sap Ag Online access to database snapshots
JP5464003B2 (ja) * 2010-03-26 2014-04-09 富士通株式会社 データベース管理装置およびデータベース管理プログラム
CN101814043B (zh) * 2010-04-19 2014-07-16 浪潮电子信息产业股份有限公司 一种使用快照技术进行在线恢复的方法
JP5850224B2 (ja) * 2011-02-28 2016-02-03 株式会社リコー 管理システム、及びプログラム
US8930330B1 (en) 2011-06-27 2015-01-06 Amazon Technologies, Inc. Validation of log formats
CN103034636A (zh) * 2011-09-29 2013-04-10 盛乐信息技术(上海)有限公司 一种非关系型数据库的回滚方法、装置及系统
CN102708166B (zh) * 2012-04-26 2014-07-02 北京星网锐捷网络技术有限公司 数据复制方法、数据恢复方法及装置
CN102708416B (zh) * 2012-05-10 2015-11-25 华为软件技术有限公司 一种用户订购业务的方法、设备和系统
US9146685B2 (en) * 2013-02-11 2015-09-29 International Business Machines Corporation Marking local regions and providing a snapshot thereof for asynchronous mirroring
US9477558B2 (en) 2013-03-08 2016-10-25 Intel Corporation Hardware supported memory logging
CN104035838B (zh) * 2013-03-08 2018-08-14 英特尔公司 硬件支持的存储日志记录
US9672237B2 (en) 2013-03-15 2017-06-06 Amazon Technologies, Inc. System-wide checkpoint avoidance for distributed database systems
US9514007B2 (en) 2013-03-15 2016-12-06 Amazon Technologies, Inc. Database system with database engine and separate distributed storage service
US10180951B2 (en) 2013-03-15 2019-01-15 Amazon Technologies, Inc. Place snapshots
US11030055B2 (en) 2013-03-15 2021-06-08 Amazon Technologies, Inc. Fast crash recovery for distributed database systems
US9501501B2 (en) 2013-03-15 2016-11-22 Amazon Technologies, Inc. Log record management
CN103150149B (zh) 2013-03-26 2015-11-25 华为技术有限公司 处理数据库重做数据的方法和装置
US10747746B2 (en) 2013-04-30 2020-08-18 Amazon Technologies, Inc. Efficient read replicas
US9317213B1 (en) 2013-05-10 2016-04-19 Amazon Technologies, Inc. Efficient storage of variably-sized data objects in a data store
US9760596B2 (en) 2013-05-13 2017-09-12 Amazon Technologies, Inc. Transaction ordering
US9208032B1 (en) 2013-05-15 2015-12-08 Amazon Technologies, Inc. Managing contingency capacity of pooled resources in multiple availability zones
US10303564B1 (en) 2013-05-23 2019-05-28 Amazon Technologies, Inc. Reduced transaction I/O for log-structured storage systems
US9305056B1 (en) 2013-05-24 2016-04-05 Amazon Technologies, Inc. Results cache invalidation
CN103336736B (zh) * 2013-05-27 2017-04-12 华为技术有限公司 系统日志获取方法和装置
US9047189B1 (en) 2013-05-28 2015-06-02 Amazon Technologies, Inc. Self-describing data blocks of a minimum atomic write size for a data store
US9659050B2 (en) * 2013-08-06 2017-05-23 Sybase, Inc. Delta store giving row-level versioning semantics to a non-row-level versioning underlying store
US9460008B1 (en) 2013-09-20 2016-10-04 Amazon Technologies, Inc. Efficient garbage collection for a log-structured data store
US9507843B1 (en) 2013-09-20 2016-11-29 Amazon Technologies, Inc. Efficient replication of distributed storage changes for read-only nodes of a distributed database
US10216949B1 (en) 2013-09-20 2019-02-26 Amazon Technologies, Inc. Dynamic quorum membership changes
US9519664B1 (en) 2013-09-20 2016-12-13 Amazon Technologies, Inc. Index structure navigation using page versions for read-only nodes
US9280591B1 (en) 2013-09-20 2016-03-08 Amazon Technologies, Inc. Efficient replication of system transactions for read-only nodes of a distributed database
US9552242B1 (en) 2013-09-25 2017-01-24 Amazon Technologies, Inc. Log-structured distributed storage using a single log sequence number space
US9699017B1 (en) 2013-09-25 2017-07-04 Amazon Technologies, Inc. Dynamic utilization of bandwidth for a quorum-based distributed storage system
US10223184B1 (en) 2013-09-25 2019-03-05 Amazon Technologies, Inc. Individual write quorums for a log-structured distributed storage system
CN103488549B (zh) * 2013-09-29 2017-01-18 北大医疗信息技术有限公司 多镜像数据的回滚处理系统和回滚处理方法
US9489409B2 (en) 2013-10-17 2016-11-08 Sybase, Inc. Rollover strategies in a N-bit dictionary compressed column store
US10387399B1 (en) 2013-11-01 2019-08-20 Amazon Technologies, Inc. Efficient database journaling using non-volatile system memory
US9760480B1 (en) 2013-11-01 2017-09-12 Amazon Technologies, Inc. Enhanced logging using non-volatile system memory
US9880933B1 (en) 2013-11-20 2018-01-30 Amazon Technologies, Inc. Distributed in-memory buffer cache system using buffer cache nodes
US9223843B1 (en) 2013-12-02 2015-12-29 Amazon Technologies, Inc. Optimized log storage for asynchronous log updates
CN103744936B (zh) 2013-12-31 2017-02-08 华为技术有限公司 一种数据库中的多版本并发控制方法及数据库系统
CN103886109B (zh) * 2014-04-18 2017-04-12 北京搜狐新媒体信息技术有限公司 一种实现数据库行锁的方法及装置
US10303663B1 (en) 2014-06-12 2019-05-28 Amazon Technologies, Inc. Remote durable logging for journaling file systems
KR102253841B1 (ko) * 2014-10-31 2021-05-18 에스케이텔레콤 주식회사 대용량 분산 파일 시스템에서 데이터의 수정을 포함하는 트랜잭션 처리 장치 및 컴퓨터로 읽을 수 있는 기록매체
US10043026B1 (en) * 2015-11-09 2018-08-07 8X8, Inc. Restricted replication for protection of replicated databases
US9830558B1 (en) * 2016-05-03 2017-11-28 Sas Institute Inc. Fast training of support vector data description using sampling
US10572469B2 (en) * 2016-05-31 2020-02-25 Oracle International Corporation Versioning and non-disruptive servicing of in-memory units in a database
CN107885488B (zh) * 2016-09-29 2021-06-01 微软技术许可有限责任公司 意图和具有意图的锁
US10685014B1 (en) * 2016-09-30 2020-06-16 EMC IP Holding Company LLC Method of sharing read-only data pages among transactions in a database management system
CN109032752B (zh) * 2017-06-12 2023-03-10 微软技术许可有限责任公司 基于云平台的操作撤销
US11914571B1 (en) 2017-11-22 2024-02-27 Amazon Technologies, Inc. Optimistic concurrency for a multi-writer database
KR102089291B1 (ko) * 2018-06-19 2020-03-16 주식회사 티맥스데이터 데이터 익스텐트 이동 방법
US11003549B2 (en) * 2018-07-25 2021-05-11 Microsoft Technology Licensing, Llc Constant time database recovery
US11176004B2 (en) * 2019-04-01 2021-11-16 Sap Se Test continuous log replay
CN110096389A (zh) * 2019-04-30 2019-08-06 上海达梦数据库有限公司 一种数据库的启动方法、装置、设备和存储介质
CN111026772B (zh) * 2019-11-26 2020-11-27 中科驭数(北京)科技有限公司 用于保证数据库修改永久性的方法及装置
JP7120985B2 (ja) * 2019-12-16 2022-08-17 ヤフー株式会社 データベース管理システム、データベース管理方法、およびプログラム
CN111176907B (zh) * 2020-01-06 2021-03-05 中科驭数(北京)科技有限公司 硬件数据库回滚方法、软件数据库回滚方法及装置
US11341163B1 (en) 2020-03-30 2022-05-24 Amazon Technologies, Inc. Multi-level replication filtering for a distributed database
CN111930788B (zh) * 2020-09-04 2021-03-23 阿里云计算有限公司 操作请求的处理方法、装置、设备、可读存储介质及系统
KR20230119966A (ko) * 2022-02-08 2023-08-16 삼성전자주식회사 전자 장치에서 데이터베이스 파일을 복구하는 방법
CN115774740B (zh) * 2022-11-21 2023-09-12 本原数据(北京)信息技术有限公司 数据库快照查询方法、系统及存储介质
CN117130871B (zh) * 2023-10-26 2024-04-05 本原数据(北京)信息技术有限公司 数据库日志的并行回放方法及装置、非易失性存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327556A (en) * 1991-02-15 1994-07-05 International Business Machines Corporation Fast intersystem page transfer in a data sharing environment with record locking
US5752026A (en) * 1994-04-28 1998-05-12 The United States Of America As Represented By The Secretary Of The Navy Early commit locking computer database protocol
US6564215B1 (en) * 1999-12-16 2003-05-13 International Business Machines Corporation Update support in database content management

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333303A (en) * 1991-03-28 1994-07-26 International Business Machines Corporation Method for providing data availability in a transaction-oriented system during restart after a failure
DE4216871C2 (de) * 1991-05-21 2001-09-06 Digital Equipment Corp Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
US5369757A (en) * 1991-06-18 1994-11-29 Digital Equipment Corporation Recovery logging in the presence of snapshot files by ordering of buffer pool flushing
US5701480A (en) * 1991-10-17 1997-12-23 Digital Equipment Corporation Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing
US5530855A (en) * 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
EP0990214A2 (en) * 1998-01-26 2000-04-05 Telenor AS Database management system and method for conditional conflict serializaility of transactions and for combining meta-data of varying degrees of reliability
US6247023B1 (en) * 1998-07-21 2001-06-12 Internationl Business Machines Corp. Method for providing database recovery across multiple nodes
JP2001229063A (ja) * 2000-02-17 2001-08-24 Mitsubishi Electric Corp データ管理システム
US7076508B2 (en) * 2002-08-12 2006-07-11 International Business Machines Corporation Method, system, and program for merging log entries from multiple recovery log files
US7146386B2 (en) 2004-03-29 2006-12-05 Microsoft Corporation System and method for a snapshot query during database recovery

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327556A (en) * 1991-02-15 1994-07-05 International Business Machines Corporation Fast intersystem page transfer in a data sharing environment with record locking
US5752026A (en) * 1994-04-28 1998-05-12 The United States Of America As Represented By The Secretary Of The Navy Early commit locking computer database protocol
US6564215B1 (en) * 1999-12-16 2003-05-13 International Business Machines Corporation Update support in database content management

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Efficient Transparent Application RecoveryIn Client-Server Information Systems. David Lomet,Gerhard Weikum.ACM. 1998
Efficient Transparent Application RecoveryIn Client-Server Information Systems. David Lomet,Gerhard Weikum.ACM. 1998 *

Also Published As

Publication number Publication date
WO2005103880A2 (en) 2005-11-03
JP4598821B2 (ja) 2010-12-15
US7146386B2 (en) 2006-12-05
EP1687710A2 (en) 2006-08-09
CN1842789A (zh) 2006-10-04
WO2005103880A3 (en) 2006-06-15
KR101099199B1 (ko) 2011-12-27
US20050216462A1 (en) 2005-09-29
EP1687710A4 (en) 2011-10-19
KR20070031209A (ko) 2007-03-19
JP2007531156A (ja) 2007-11-01

Similar Documents

Publication Publication Date Title
CN100452030C (zh) 用于在数据库恢复期间快照查询的系统和方法
CN105339939B (zh) 对在线热备份数据库的复制
CN101046821B (zh) 通用数据库操纵器
CN101495976B (zh) 用于直接更新软件事务存储器的方法和系统
CN101361047B (zh) 用于存储系统中的数据保护的方法和系统
CN101243446B (zh) 从数据库镜像进行在线页还原
US7925625B2 (en) Synchronizing data between business applications
CN1744061B (zh) 校验对数据存储器的动态生成操作
CN101493869B (zh) 用于文件备份的密码保护
CN1694098B (zh) 实时文件系统修复
CN1784677A (zh) 用于数据库备份的一致性检验的系统和方法
CN113396407A (zh) 用于利用区块链技术扩充数据库应用的系统和方法
CN102934114A (zh) 用于文件系统的检查点
US20090138531A1 (en) System and method for processing fault tolerant transaction
CN101604335A (zh) 用于自动数据库或文件系统维护和修复的系统和方法
KR101278818B1 (ko) 트랜잭션 일관 및 문제 상태
US8380660B2 (en) Database system, database update method, database, and database update program
CN101401097A (zh) 利用恢复日志检测数据库事件
WO1999046674A1 (en) Isolation levels and compensating transactions in an information system
JP3094888B2 (ja) 採番機構、データ整合性確認機構、トランザクション再実行機構及び分散トランザクション処理システム
JP2006277208A (ja) バックアップシステム、プログラム及びバックアップ方法
CN102667720A (zh) 没有排序依赖的一致性
JP2006004031A (ja) データ処理方法およびシステム並びにストレージ装置方法およびその処理プログラム
US20030126163A1 (en) Method for file deletion and recovery against system failures in database management system
CN101211362B (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150506

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150506

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090114

Termination date: 20190729