CN105339939B - 对在线热备份数据库的复制 - Google Patents
对在线热备份数据库的复制 Download PDFInfo
- Publication number
- CN105339939B CN105339939B CN201480036375.1A CN201480036375A CN105339939B CN 105339939 B CN105339939 B CN 105339939B CN 201480036375 A CN201480036375 A CN 201480036375A CN 105339939 B CN105339939 B CN 105339939B
- Authority
- CN
- China
- Prior art keywords
- database
- node
- affairs
- page
- backup node
- 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
- 238000000034 method Methods 0.000 claims abstract description 84
- 238000002407 reforming Methods 0.000 claims abstract description 18
- 230000010076 replication Effects 0.000 claims abstract description 5
- 230000015654 memory Effects 0.000 claims description 70
- 230000005540 biological transmission Effects 0.000 claims description 23
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000003362 replicative effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000017702 response to host Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明涉及一种在分布式数据库环境中将来自可操作的主节点的数据库映像到备份节点的***、方法和计算机程序产品,所述方法包括:定义包括数据库结构和多个数据库页的主节点的检查点映像;通过启动备份节点以及将该定义的数据库结构存储在启动的该备份节点上来在该备份节点上创建复本数据库;将该检查点映像的每个数据库页面发送给该备份节点以存储;检查点映像创建启动后,存储在该主节点上的每个事务,创建对应的重做事务以发送到该备份节点;识别由每个重做事务操作的每个数据页;与发送数据库页面并行地以对应事务发生的顺序发送每个创建的重做事务该备份节点,以便该备份节点以正确的顺序复制事务;以及将每个识别的数据库页按重要性排列以便在对应的重做事务之前或基本同时到达该备份节点,由此该对应的重做事务无需等待每个数据库页面存储到该备份节点上就能够在该识别的数据库页上操作。
Description
技术领域
本发明涉及一种用于在线热备份数据库的复制器的方法和装置。
背景技术
在热备份(HSB)数据库中,事务是在两个阶段提交的,在事务被认为正确提交前,主节点和备份节点都必须成功地认可更改。这是一个两阶段提交(2PC)协议,其保证了在两个节点的数据库总是具有同样的状态。2PC是原子提交协议(ACP),并且是一种用于协调参与分布式原子事务的全部过程是否提交或中止(回滚)事务的专门类型的共识协议。有些HSB数据库通过提供更宽松的事务,为用户提供选项以交换性能的一致性。这种事务是在两阶安全接收(2SR)协议中定义的,其中只要备份节点认可其已接收到提交事务的所有日志记录,主节点就认可。
主节点(primary node)有时被称为主要节点(master node),备份节点(backupnode)有时也被称为次要节点(secondary node)、备用节点(standy node)或从属节点(slave node)。通常,主节点接受所有事务,而备份节点只接受只读事务。
有不同的方式来保持备份节点和主节点同步,但在本公开中,考虑的是日志复制(也被称为日志传送复制)。在日志复制中,主节点将每一个写事务存储到其数据库以及日志记录,借此将日志记录进一步复制到备份节点。当备份节点接收到日志记录时,其为接收的每个日志记录执行重做(REDO)事务。重做事务重复该引用的事务。
在实施例中,将HSB数据库存储在主存储器中以便数据的快速访问,因为相对于对持久性存储器的间接访问和较慢的访问速度,主存储器是由计算机处理单元(CPU)直接寻址的。快速存储器访问尤其不是HSB数据库的属性,但是它适用于可支持热备份功能的存储器内(in-memory)数据库。日志记录通常存储在持久存储器中。存储器内数据库通过周期性地(或按需)将数据库的检查点映像(也称为快照)写入到持久存储器来保证对数据的持续修改。检查点映像写入是一个检查点过程。在检查点映像中,数据被组织为数据库页,其是存储器中的连续数据区域,并且通常与单个或多个存储逻辑块大小相等。为简单起见,假定数据库页与磁盘块大小相等。
存储器内数据库在易失性存储器中维护其活动的数据。存储器内数据典型地包括存储器的内建管理器,其从操作***分配大量存储器,然后以最适合的方式将其组织以便在存储器内数据库中使用。假定数据被存储在不同大小的存储器分段中,但每个存储器分段包括使得将数据组织成存储器页大小以进行检查点映像创建成为可能的信息。或者,该数据库可以在存储器中组织成存储器页大小。
在HSB数据库中,有一个主节点和通常一个备份节点,然而,一些变化中具有多个备份节点。在更复杂的***,可能有复制在分区(或“碎片”)上的数据库,其中一个分区被认为是主分区,其他分区被认为是备份分区。实施例也可应用于这种分区模型。节点可以表示一个物理分离的计算机单元、在机架上的卡、或在单个主机内的虚拟机中的过程。有时,HSB数据库或运行HSB数据库的计算机节点会崩溃。这种崩溃将以存储在违反节点上的数据库不再能被恢复的方式,违反节点中一个节点的检查点映像。如果另一个节点在崩溃期间保持运行,那么它可以被切换为主节点(如果它还不是主节点),其将继续执行事务。
有时主节点失效后,另一个节点作为备份节点起动。启动节点可能是失效(且已恢复)节点或是在HSB数据库中能够充当备份节点的备用节点。如果主节点失效,无法从非现有的检查点映像启动备份节点。只有当主节点启动并运行时,才有可能存在数据库副本。如果起动的备份节点没有在其磁盘上存储的数据库,那么它就无法恢复,并且它不能够处理存储在重做事务中的事务。因此,创建检查点映像之后,需要为启动的备份节点提供数据副本,以及包含在主节点中的数据库上做出的所有修改的日志记录。
如果备份节点在失效之后被重新启动,那么它可能有损坏的检查点映像或根本没有检查点映像。因此,需要从主节点将完整的检查点映像复制到备份节点,而不将主节点离线。备份节点需要:元数据、***表、最新的检查点映像;以及从启动检查点映像创建到主节点和备份节点一致时执行的写事务的重做事务。
将备份节点上的数据库与主节点上的数据同步包括2个阶段:复制阶段和追赶阶段。复制阶段包括将主节点上的数据库复制到备份节点上。追赶阶段包括在备份节点上执行在主节点上已经执行并且提交的事务有关的日志记录。当一个节点失效或恢复,因为由于该失效,HSB数据库故障容忍已下降,那么***处于脆弱阶段。
已知的HSB同步解决方案执行包括检查点映像的迭代版本以及由最近事务创建的日志记录的一个或多个检查点映像的全部复制。
例如,已知的HSB同步过程可分为在主节点上的主同步过程:将检查点映像(包括元数据和实际数据)从主节点发送到备份节点;发送检查点映像创建期间活动的重做事务;以及发送在同步期间主节点中执行的重做事务。相应的备份节点同步过程可以分为相应的步骤:接收检查点映像(包括元数据和实际数据);接收检查点映像创建期间活动的重做事务;以及接收在同步期间主节点中执行的重做事务。
运行在商业硬件上的存储器内数据库可以每秒执行成百上千个单独的写事务。在正常情况下,只读事务可以在主节点和备份节点两者上执行,从而将部分负载从主节点分走。当其他节点失效时,剩下的节点可能不得不将其角色转换为主节点(如果它还不是主节点)。主节点立即负责所有写和只读事务,这在实践中可能会将其活动的客户机连接的数量增加一倍。其结果是,主节点的存储器消耗显著增加,并根据负载的类型和实施细节,由于同时执行的事务的数量增加,性能可能会下降。
当备份节点开始恢复,主节点负责创建数据库的当前状态的新的检查点映像,该映像将被复制到备份节点中,成为数据库种子。所有在检查点映像创建期间未提交的事务都将在主节点中被记录为重做事务,被发送到备份节点并被执行。这是追赶阶段。
必须在主节点存储器耗尽前执行从主节点到备份节点复制检查点映像以及使备份节点追赶上主节点。如果主节点的存储器耗尽,那么HSB同步过程将失败或者,必须将主节点的重做事务存储到存储器中以减少存储器消耗。需要从持久性存储磁盘上读取持久性存储重做事务,而这比从快速存储器读取数据要慢得多。
从持久性存储器中访问重做事务将减慢追赶阶段的速度。缓慢的追赶增加了随之而来的故障的风险,以及增加了备份节点及时追赶上主节点的整体能力的风险。易受伤害期间额外的故障从HSB数据库的角度来说可能是致命的。如果备份节点不能在第一次失效之后追赶上主节点,那么将来致命错误的风险会增加。
因此,在更新频率很高的情况下,追赶阶段成为HSB数据库可用性的严重威胁,使HSB同步过程尽可能地快以减少该风险是很重要的。
发明内容
在本发明的第一方面,提供了一种在分布式数据库环境中复制来自可操作的主节点的数据库映像的复制器,该复制器包括:映像引擎,用于定义包括数据库结构和多个数据库页的主节点的检查点映像;控制器,用于通过启动备份节点以及将该定义的数据库结构存储在启动的该备份节点上来在该备份节点上创建复本数据库;传输机制,用于将该检查点映像的每个数据库页发送给该备份节点以存储;记录器,用于检查点映像创建启动后,存储在该主节点上的每个后续事务,从而创建对应的重做事务以发送到该备份节点;页识别器,用于识别由每个后续事务操作的每个数据页;并行传输机制,用于与发送数据库页并行地以对应事务发生的顺序发送每个创建的重做事务到该备份节点,以便该备份节点能够以正确的顺序复制事务;以及页控制器,用于将每个识别的数据库页按重要性排列以便在对应的重做事务之前或基本同时到达该备份节点,由此该对应的重做事务无需等待剩余的数据库页被存储到该备份节点上就能够在该识别的数据库页上操作。
根据本发明的第二方面,提供了一种在分布式数据库环境中将来自可操作的主节点的数据库映像复制到备份节点的方法,该方法包括:定义包括数据库结构和多个数据库页的主节点的检查点映像;通过启动备份节点以及将该定义的数据库结构存储在启动的该备份节点上来在该备份节点上启动复本数据库的创建;将该检查点映像的每个数据库页发送给该备份节点以存储;检查点映像创建启动后,存储在该主节点上的每个事务并且创建对应的重做事务以发送到该备份节点;识别由每个重做事务操作的每个数据页;与发送数据库页并行地以对应事务发生的顺序发送每个创建的重做事务到该备份节点,以便该备份节点能够以正确的顺序复制事务;以及将每个识别的数据库页按重要性排列以便在对应的重做事务之前或基本同时到达该备份节点,由此该对应的重做事务无需等待每个数据库页被存储到该备份节点上就能够在该识别的数据库页上操作。
提出了从主节点中定义并提取数据库结构并发送到一个新创建的备份节点,并且并行发送重做事务以在备份节点上操作。一旦到达,新创建的备份节点就复制数据库结构。复制(也称为同步)包括创建空的数据库结构(元数据、表和索引)。在元数据结构复制之后,备份节点可以立即开始与数据库客户端建立连接,并开始为它们服务。与重做事务的执行并行地发送剩余的数据页。因为备份节点首先接收最需要的数据,因此交错数据库页和重做事务是有利的。
主要的好处是,主节点能够不中断地执行事务;此外,一旦备份节点接收并处理元数据时,主节点能够开始向备份节点发送重做事务。除此之外,实施例使得将数据页从主存储器发送到备份节点上与发送重做事务并行成为可能。
该实施例认可当在种子数据库从主节点复制到备份节点的同时将重做事务从主节点复制到备份节点的可能性。换句话说,一个HSB同步过程传统上包括从主节点存储器传输新的检查点映像到备份节点,随后是追赶阶段。只有在追赶阶段之后,才有可能开始从主节点到备份节点的日志事务。
实施例使得直接从主节点主存储器到备份节点复制检查点映像成为可能,而不需要对慢速持久性磁盘存储器的输入/输出访问。实施例还使得在HSB同步过程中从主节点启动复制活动的重做事务到备份节点成为可能。作为结果,检查点映像传输速度更快,因为没有持久存储器操作。此外,主节点的存储器消耗比在所有活动的事务必须为整个检查点映像传输(即,每一个数据页)在主节点中缓冲的情况要小得多。
作为结果,数据库同步过程的持续时间不受磁盘或***性能的约束,而是受网络传输容量的约束。由于网络传输容量可以增加,例如通过使用专有的网络协议而不是TCP/IP,就移除了存储器输入/输出的瓶颈,从而缩短HSB同步过程并且增加HSB数据库总体可用性。
根据两阶安全接收(2SR)协议事务描述了优选实施例,然而其他实施例可以使用其他类型的事务,包括一阶安全接收(1SR)协议事务,其中只要提交请求从主节点提交发送到备份节点,事务就提交了。
有利地,修改的数据库页优先于未修改的数据库页。只要可能就发送最流行的数据(即修改的网页或脏页)是有利的,这样才能使不经常需要的网页不对共享资源进行竞争。
更有利的是,主存储器中的数据库页优先于持久存储器中的数据库页。主存储器优先是因为与持久性存储器相比,其数据访问速度快且传输时间短。主存储器通常是具有低容量但具有更快的访问速度的易失性存储器。持久性存储通常是具有较高容量但访问速度较低的持久磁盘驱动器。
更有利的是,该方法还包括:识别由重做事务操作的两个或多个数据页;以及与发送创建的重做事务并行地发送所述两个或多个数据页。
进而,更有利的是,主节点向备份节点通知所有数据库页被发送。
最好,备份节点向主节点通知已收到所有数据库页。
在发送到备份节点之前,最好将重做事务和数据库页交叉存储到发送缓冲区中。
仍较有利地,事务在主节点上放置持续负载。
本实施例对群集数据库环境之外执行的事务流程具有影响,从而使得在节点失效期间的数据库性能对对事务流程来说不会实质性地衰退,而是基本上一致。在计算机、执行计算机的***级以及任何的叠加的应用程序级之下都会有这样的效果。实施例表明在节点失效期间计算机的速度增加。
在本发明的第三方面,提供了在集群数据库环境中复制可操作的主数据库的计算机程序产品,该计算机程序产品包括其上具有计算机可读程序代码的计算机可读存储介质,该计算机可读程序代码被配置为执行方法实施例中的任何一个。
计算机程序产品包括一系列的计算机可读指令,或者固定在例如光盘、磁盘、固态硬盘之类的计算机可读介质上,或者使用调制解调器或其它接口设备通过包括但不限于光或模拟通信线路的有形介质;或者无形地使用包括但不限于微波、红外线或其他传输技术的无线技术传送给计算机***。计算机可读指令的序列包含着这里之前描述的全部或者部分功能。
本领域技术人员会知道,这种计算机可读指令可以使用用于许多计算机体系结构或操作***的编程语言写成。此外,这种指令可以使用包括但不限于半导体、或光学的任何现在或将来的存储技术存储;传输使用包括但不限于光学、红外线或微波的任何现在或未来的通信技术传输。可以预期,这种计算机程序产品可以作为一个可移动介质、印刷或电子文档分发,例如,收缩包装的软件、预先加载的计算机***,例如,在***只读或固定磁盘上,或通过例如互联网或万维网的网络从服务器或电子公告板上分发。
在本发明的第四方面,提供存储在计算机可读介质上并可加载到数字计算机内部存储器的计算机程序,包括软件代码部分,当所述程序在计算机上运行时,用于执行方法实施例中的任何一个。
在本发明的第五方面,提供了一种该优选实施例的数据载体方面,包括当加载到计算机***中并且在其上操作时使得所述计算机***能够执行该方法权利要求的所有步骤的功能性计算机数据结构。合适的数据载体可以是固态存储器、磁盘或光盘。数据传输的信道可以同样包括所有描述的存储介质以及承载信号的媒介,例如有线或无线信号传输介质。
附图说明
现在将要参考附图,仅以示例的方式描述本发明的优选实施例,其中:
图1为优选实施例的部署图;
图2是优选实施例的组件图;
图3是优选实施例的过程的流程图;
图4A-4D是优选实施例的子过程流程图;
图5是优选实施例的对应的备份节点流程的流程图;以及
图6是一个并行计算实施例的部署图。
具体实施方式
参考图1,描述了在热备份数据库***10中一个优选实施例的部署图。热备份数据库***10可操作于多种其他通用或专用的计算***环境或配置。已知的适于热备份数据库***10使用的计算机处理***、环境和/或配置的例子包括但不限于:个人计算机***、服务器计算机***、瘦客户机、胖客户机、手持或便携式设备、多处理器***、基于微处理器的***、机顶盒、可编程的消费电子设备、网络计算机***、微机***、主机计算机***以及包括上述的任何***或设备的分布式云计算环境。
热备份数据库***10可以在计算机***可执行指令的一般上下文中描述,例如由计算机处理器执行的程序模块。一般而言,程序模块可以包括例程、程序、对象、组件、逻辑和执行特定的任务或实现特定的抽象数据类型数的据结构。热备份数据库***10可以体现在分布式云计算环境中,其中由通过通信网络连接的远程处理设备执行任务。在分布式的云计算环境中,程序模块可以位于包括存储设备的本地和远程计算机***存储介质中。
热备份数据库***10包括:通用计算机服务器主节点12;直接连接到主节点12的一个或多个输入设备14以及输出设备16;计算机服务器备份节点12’以及至少一个备用节点13。
热备份数据库***10连接到网络20。热备份数据库***10使用输入设备14和输出设备18与用户18进行通信。输入设备14包括一个或多个:键盘、扫描仪、鼠标、轨迹球或其他定点设备。输出设备16包括一个或多个显示器或打印机。热备份数据库***10通过网络20与网络设备(未显示)通信。网络20可以是局域网(LAN)、广域网(WAN)或互联网。
计算机服务器主节点12包含:中央处理单元(CPU)22;网络适配器24;设备适配器26;总线28和存储器30。
CPU22从存储器30装载机器指令,并响应于该指令执行机器操作。这样的机器操作包括:增加或减小寄存器(未显示)中的值;将值从存储器30转移到寄存器或反之亦然;如果条件为真或假(也称为条件分支指令),分支到存储器的另一个不同位置;以及将两个不同的寄存器中的值相加或相减并在另一个寄存器中加载结果。一个典型的CPU可以执行许多不同的机器操作。一组机器指令被称为机器码程序,机器指令是用机器码语言编写的,是***上最低语言级别的可能抽象。以高级语言编写的计算机程序需要在运行前将其编译为机器代码程序。另外机器码程序,如虚拟机或解释器可以在机器操作方面解释高级语言。
网络适配器24被连接到总线28和网络20,用于实现主节点12和网络设备(包括备份节点)之间的通信。
设备适配器26被连接到总线28、输入设备14和输出设备16,用于实现计算机服务器12和输入设备14和输出设备16之间的通信。
总线28与包括存储器30到CPU22的主要***组件耦接到一起。总线28代表几种类型的总线结构中的一种或多种,包括使用多种总线结构中任意结构的存储器总线或存储器控制器、外设总线、加速图形端口以及处理器或本地总线。通过举例的方式,这样的架构包括但不限于工业标准体系结构(ISA)总线、微通道架构(MCA)总线、增强的ISA(EISA)总线、视频电子标准协会(VESA)局部总线和***组件互连(PCI)总线。
存储器30包括以易失性存储器32和非易失性或持久性存储器34形式的计算机***可读介质。易失性存储器32的例子是随机存取存储器(RAM)36和高速缓存器38。一般来说,使用易失性存储器是因为它更快,而使用非易失性存储器是因为它保存数据的时间更长。热备份数据库***10可以进一步包括其他可移动和/或不可移动、易失性和/或非易失性的计算机***存储介质。仅通过举例,可以提供持久性存储器34用于从一个不可移动的、非易失性的磁性介质(未显示,通常是磁性硬盘或固态硬盘)读取或者写入一个不可移动的、非易失性的磁性介质。虽然未示出,可以提供进一步的存储介质包括:可移动的外部端口、非易失性固态存储器;以及光盘驱动器用于读取或写入到如光盘(CD)、数字视频光盘(DVD)或蓝光光盘之类的可移动的、非易失性光盘。在这样的情况下,每一个可以通过一个或多个数据介质接口连接到总线28。正如下面将进一步描写和描述的那样,存储器30可以包括具有一组(例如,至少一个)被配置来执行本发明的实施例的功能的程序模块的至少一个程序产品。
被配置执行优选实施例的功能的程序模块集合包括数据库100A和复制器200A。备份节点12’包括数据库100B和复制器200B。支持优选实施例但未示出的进一步的程序模块包括:固件、开机程序、操作***以及支持应用程序。操作***、支持应用程序、其他程序模块以及程序数据或其某些组合中的每一个可以包括网络环境的实施。
热备份数据库***10通过网络适配器24与至少一个网络20(如局域网(LAN)、广域网(WAN)和/或如互联网的公用网络)通信。网络适配器24通过总线28与计算机服务器12的其他组件通信。本领域技术人员知道,虽然没有显示,其他硬件和/或软件组件可用于与热备份数据库***10协作。例子包括但不限于:微码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、独立磁盘冗余阵列(RAID)、磁带驱动器和数据归档存储***。
参考图2,复制器200(复制器200A和200B的通用类)包括下列部件:copyid索引202;dirtyid索引204;发送队列206;主方法300和备份节点方法500。
copyid索引202是用于存储数据库页的引用的数据结构,该数据库页已经被发送到备份节点用于特定的检查点映像。
Dirtyid索引204是用于存储数据库页的引用的数据结构,该数据库页自从定义了检查点映像就已经被改变。另外,如果用于检查点映像的所有的数据库页是从存储器读取而不是从磁盘读取的未修改的数据库页,那么dirtyid索引204包括所有数据库页的标识符。在前一种情况下,无论何时未修改的数据库页被修改,则将其标识符添加到dirtyid索引204。当检查点映像创建完成,Dirtyid索引204被清空。在后者的情况下,dirtyid索引204包含数据库的所有数据库页的标识符。
发送队列206用于在将数据库页和重做事务发送到备份节点之前将其存储的队列。
主方法300用于复制主节点,下面参考图3和图4A-4D详细描述主方法300。
备份节点方法500是用于复制主节点对应的备份节点过程,下面参考图5详细描述方法500。
参考图3,主方法300包括步骤301至307的逻辑过程。
在开始的情况下,当另一个注定要成为新备份节点的节点启动,主方法300执行事务。新备份节点没有自己的数据库映像,因为其已损坏或完全丢失。新备份节点需要与主节点共享共同的数据库。主方法300创建其数据库的自包含的一致性版本,称为检查点映像或快照。在存储器内数据库中,检查点在从其被复制以传输到备份节点的存储器中创建的。可以并行从磁盘和从主存储器中读取页。脏页是在主存储器中的,因为他们最近被修改。因此,很可能他们会比磁盘上的页再次更早地修改。
主节点的copyid索引202中发现的数据库页具有以下状态之一:缓存(当它已经被添加到发送缓冲区,因此已经被发现并决定要被发送到备份节点);以及已发送(当页的发送实际已经发生)。
在步骤301是用于创建新的检查点映像和新的检查点标识符。累加检查点计数器。在检查点映像创建期间由事务引起的更新不会丢失数据。在检查点映像创建期间更新事务可以执行提交。之前的检查点映像的版本一直被保存到其被存储在持久性存储为止。
步骤302用于从数据库中提取包括元数据和***表的必要的数据库结构,并将它们发送到备份节点12。
步骤303用于等待答复。来自备份节点12’的确认通知元数据被成功处理并且备份节点12’已准备好接收数据和重做事务。
步骤304用于重做事务和数据库页的并行处理,以下参考图4A-4D的并行处理方法304’详细描述。
步骤305用于当所有数据库页已被发送到备份节点时检测并通知备份节点不再发送页。
步骤306用于确认已经从备份节点接收并恢复数据库页。
步骤307用于恢复到正常程序并用于从局部转换到分布式提交协议。
参考图4A,并行处理方法304包括逻辑过程步骤304A1,304A2,304A3,304A4,304F以及方法304B。
步骤304A1是用于将过程分割为两个并行运行的独立的过程:第一个过程用于从步骤204A2开始向备份节点发送数据库页;第二过程用于在方法304B处理重做事务。
步骤304A2用于确定数据库页自从检查点映像创建以来是干净的还是脏的(未修改或已修改)。查询Dirtyid索引204。如果数据库页未列在dirtyid索引204中,那么页是干净的,转到步304A3。否则页是脏的,转到步骤304A4。如果数据库页列在dirtyid索引204中,那么它是脏的,因为它已经被修改。
步骤304A3用于从主存储器或从存储器读取数据库页。在一致性方面,这并不重要,因为这两个页会是对应的。然而,在优选实施例中,数据库页是从可操作的存储器中读取的,因为访问时间会更快。访问的数据库页被发送到发送队列206以传输到备份节点。到下一步骤304F。
步骤304A4用于只从主存储器读取数据库页,因为那是页的最新副本驻留之处。到下一步304F。
方法304B用于发送重做事务到备份节点,下面参考图4B更详细地描述。到下一步骤304F。
步骤304F用于确定是否有任何更多的数据库页或重做事务要处理。如果是返回步骤304A1。否则到步骤305。
参考图4B,方法304B(发送重做事务到备份节点)包括逻辑过程步骤304B1到304B9、方法304C和方法304D。
步骤304B1用于为每个重做事务定义一个循环,并且用于从对应的重做事务中提取数据库页标识符。
步骤304B2用于通过在所有页上对两个或多个数据库页执行所有检查,处理重做事务。
步骤304B3用于搜索copyid索引202以寻找提取的页标识符或者页标识符来确定是否已经将数据库页发送到备份节点。
步骤304B4用于如果提取的页标识符(ID)不在copyid索引202上因而没有已被发送到备份节点,分支到步骤304B5。否则如果提取的页ID在copyid索引202中,到步骤304B9。
步骤304B5用于在dirtyid索引204上搜索提取的页ID以确定检查点后是否有修改。
步骤304B6用于如果dirtyid索引204包含提取的页ID,分支到步骤304B7,否则流程分支到方法304C。
方法304C用于处理没有在copyid索引202或在dirtyid索引204中发现的页ID,完成时继续到步骤304F。下面参考图4C更详细地描述方法304C。
步骤304B7用于从主存储器读取页。
步骤304B8用于将读取的页添加到发送队列206以发送到备份节点。
304F在之前描述过,用于如果有多个页或重做事务,循环回到步骤304A1。
步骤304B9用于阅读记录的状态并且进行到方法304D。
方法304D用于处理在copyid索引202中发现的数据库页ID,完成时进行到步骤304F。下面参考图4d更详细地描述方法304D。
参考图4C,方法304C包括逻辑过程步骤304C1到304C3、304E1以及304E2。
步骤304C1用于如果提取的数据库页是干净的并且是在最新的检查点映像前创建,分支到步骤304C2。否则到步骤304C3。
步骤304C2用于从可操作的存储器或者存储器读取数据库页。下一步骤为304E1。
步骤304E1用于将重做事务添加到发送队列206。下一步骤为304E2。
步骤304E2用于将数据库页标识符添加到copyid索引202,然后继续到步骤304F。
步骤304C3用于在进行到步骤304F之前,仅将重做事务添加到发送队列206。
参考图4D,方法304D包括逻辑过程步骤304D1到304D3。
步骤304D1用于如果页的状态是“排队”,分支到步骤304D2,否则如果页的状态是“发送”,那么分支到步骤304D3。
步骤304D2用于在发送队列206搜索页位置并将重做事务***到发送队列206的页位置之后。然后进行到步骤304F。
步骤304D3用于尽快发送重做事务到备份节点,通常不将其添加到队列。然后进行到步骤304F。
参考图5,备份节点的方法500包括逻辑过程步骤501到506(包括子步骤503.1、503.2、503.3、504A1、504A2、504B1、以及504B2)。备份节点的方法500与主方法300是互补的。
步骤501用于接收来自主节点的元数据。元数据例如包括数据库结构和用于创建数据库模式的必要信息,使得备份节点可以打开数据库。
步骤502用于处理元数据并向主节点发送应答,该应答表明已经准备好接收主节点检查点映像并重做对应在主节点上执行的事务。
步骤503用于如果页类型来自检查点映像,分支到步骤503.1。否则,如果文档类型为重做事务类型,步骤进行到步骤503.2。当备份节点接收到页,通过提取行以及必要的信息(例如,表标识id以及事务标识id),并将行***到其本地数据库来恢复页。备份节点通过将其***索引跟踪每一个已经恢复的页。
步骤503.1用于提取表ID、事务ID并***行和索引以构建备份数据库。然后到步骤505。
步骤503.2用于提取表ID和事务ID,然后到步骤503.3。
步骤503.3用于如果页被恢复,分支到步骤504B1;如果页没有被恢复,分支到步骤504A1。
步骤503A1用于如果页可以利用锁恢复,分支到步骤503A2,以及如果不能到步骤504B1。
步骤503A2用于获取所有的锁,并且当他们全部被获得时,分支到步骤504B1。如果页没有被恢复,则只有获得必要的锁才可以继续进行执行。执行一直等待到对应的页被恢复为止。如果恢复实现使用锁,则重做事务操作必须在无锁时等待,直到该页的恢复完成。否则,如果该页被恢复,则重做事务可以正常执行。如果可以与通常的HSB操作并行地执行重做事务,那么在同步期间也是可能的。
步骤504B1用于重做事务的并行执行。当备份节点接收重做事务,它从中提取必要的信息(例如表标识符(ID)和事务标识符(ID)),并检查对应的页是否已被恢复。
步骤504B2用于如果主节点向备份节点通知检查点是完整的,分支到步骤503;否则,如果没有通知,到步骤505。
步骤505用于提取页ID和确认。当备份节点接收到通知,该通知表明检查点由主节点完全发送进而由备份节点从通知中提取页ID。当该页被完全恢复时,向主节点确认检查点映像已接收。
步骤506用于通过从局部切换到分布式提交协议恢复到正常的流程。
现在描述本发明的进一步实施例。
本领域技术人员清楚知道优选实施例的全部或部分逻辑步骤还可以替换地体现为逻辑设备或者多个逻辑设备,包括被设置来执行该方法的逻辑步骤的逻辑元件,这样的逻辑元件可包括硬件、固件组件或它们的组合。
本领域技术人员同样清楚知道优选实施例的全部或部分逻辑组件还可以替换地体现在逻辑部件,包括用于执行所述方法的步骤的逻辑单元,这样的逻辑单元可以包含组件如逻辑门(例如可编程逻辑阵列或专用集成电路)。这样的逻辑安排可以进一步体现在在这样的阵列或电路中使用,例如,可以存储和使用固定或可传播的载体媒体传播的虚拟的硬件描述语言使元素用于暂时或永久建立逻辑结构。
在进一步的实施例中,本发明可以以计算机实施的部署服务的方法的形式来实现,该服务包括部署计算机程序代码的步骤,该计算机程序代码可操作为当部署到计算机基础设施并在其上执行时,使计算机***执行该方法的所有步骤。
可以知道优选实施例的方法和组件,可以替换地完全或部分地实现为并行计算***,包括两个或多个用于执行并行软件的处理器。
参考图6,描述的示例性并行计算实施例10P包括用于数据库并行处理的热备份数据库***的并行集。优选的实施例是在分布式数据库环境中在一个单独的处理器服务器上的部署,而另一个实施例可以在分布式数据库环境中的并行处理器服务器上实现。并行热备份数据库***10P是以执行指令的并行计算机***的一般场景描述的,如通过并行计算***10P执行的并行程序模块。通常,并行程序模块可包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件、逻辑、数据结构。并行热备份数据库***10P包括:并行计算机服务器12A和12B。直接连接或网络提供并行计算机服务器12A和12B之间的访问。
并行计算机服务器12A包括:CPU22AA、CPU22AB、网络适配器24A、总线28A以及存储器30A。同样,并行计算机服务器12B包括:CPU22BA、CPU22BB、网络适配器24B、总线28B以及存储器30B。
总线28A和28B代表几种类型的总线结构中的一个或多个,包括存储器总线或存储器控制器、***总线、加速图形端口以及使用多种总线结构的处理器或局部总线。
存储器30A和30B包括以易失性存储器32A和32B的形式(如随机存取存储器和高速缓冲存储器(未示出))和非易失性或持久性存储器34A和34B形式的计算机可读介质。
持久性存储器34A包括:至少两个数据库100AA和100AB、以及复制器模块200A。在执行过程中,复制器对象200AA和200AB和对应的的数据库100AA’和100AB’在易失性存储器32A内在各自的存储器空间33AA和33AB中被实例化。
类似地,持久性存储器34B包括:至少两个数据库100BA和100BB;以及复制器模块200B。在执行过程中,复制器对象200BA和200BB以及相应的数据库100BA’和100BB’在易失性存储器32B内在各自的内存空间33BA和33BB中被实例化。
持久性存储器34A和34B还存储:对应的操作***、一个或多个应用程序、数据库管理***以及其他程序模块。每一个操作***、一个或多个应用程序、其他程序模块以及程序数据或其一些组合可以包括网络环境的实施。提供复制器模块200A和200B以在并行环境中执行实施例的功能和/或方法。
数据库和复制器模块是并行实施例的自治部分。在操作中,从持久性存储34A和34B提取这两种类型的模块并加载到易失性存储器32A和34B以便其可单独执行,因此通过各自的CPU(CPU 22AA、22AB、22BA、22BB)并行执行。
在这个例子中,示出了每个服务器具有两个CPU,但可以使用任何数量的CPU以建立替代并行实施例。在这个例子中,使用了两个独立的CPU,但具有多核的单个处理单元可以被用来建立另一个替换的实施例。
在这个并行的实施例中,CPU是物理CPU,但在另一个替换的实施例中可以模拟虚拟CPU。在虚拟并行计算实施例中,计算机服务器包括虚拟计算环境,并且虚拟并行处理单元可用于构建虚拟并行计算实施例。计算机服务器,包括具有多个虚拟内核的虚拟处理单元的虚拟计算环境。
进一步的实施例可包括:真实处理单元、真实处理单元核、虚拟处理单元和虚拟并行处理核的任意组合。
本领域技术人员知道在不脱离本发明的范围内,可以对上述示例性实施例进行许多改进和修改。
Claims (17)
1.一种在分布式数据库环境中复制来自可操作的主节点的数据库映像的复制器,该复制器包括:
映像引擎,用于定义包括数据库结构和多个数据库页的主节点的检查点映像;
控制器,用于通过启动备份节点以及将该定义的数据库结构存储在该启动的备份节点上来在该备份节点上创建复本数据库;
传输机制,用于将该检查点映像的每个数据库页发送给该备份节点以存储;
记录器,用于检查点映像创建启动后,存储在该主节点上的每个后续事务,从而创建对应的重做事务以发送到该备份节点;
页识别器,用于识别由每个后续事务操作的每个数据页;
并行传输机制,用于与发送数据库页并行地以对应事务发生的顺序发送每个创建的重做事务到该备份节点,以便该备份节点能够以正确的顺序复制事务;以及
页控制器,用于将每个识别的数据库页按重要性排列以便在对应的重做事务之前或基本同时到达该备份节点,由此该对应的重做事务无需等待每个数据库页被存储到该备份节点上就能够在该识别的数据库页上操作。
2.根据权利要求1所述的复制器,其中修改的数据库页优先于未修改的数据库页。
3.根据权利要求1所述的复制器,其中主存储器中的数据库页优先于永久存储器中的数据库页。
4.根据权利要求1所述的复制器,进一步包括:识别由重做事务操作的两个或者多个数据页,以及与发送该创建的重做事务并行地发送所述两个或者多个数据页。
5.根据权利要求1所述的复制器,其中该主节点向该备份节点通知所有的数据库页都已经被发送。
6.根据权利要求1所述的复制器,其中该备份节点向该主节点通知所有的数据库页都已经被接收。
7.根据权利要求1所述的复制器,其中重做事务和数据库页在被发送到备份节点前在发送缓存器中交叉存取。
8.根据权利要求1所述的复制器,其中事务在该主节点上放置连续负载。
9.一种在分布式数据库环境中将可操作的主节点的数据库映像复制到备份节点的方法,该方法包括:
定义包括数据库结构和多个数据库页的主节点的检查点映像;
通过启动备份节点以及将该定义的数据库结构存储在启动的该备份节点上来在该备份节点上创建复本数据库;
将该检查点映像的每个数据库页发送给该备份节点以存储;
检查点映像创建启动后,存储在该主节点上的每个后续事务并且创建对应的重做事务以发送到该备份节点;
识别由每个随后事务操作的每个数据页;
与发送数据库页面并行地以对应事务发生的顺序发送每个创建的重做事务到该备份节点,以便该备份节点能够以正确的顺序复制事务;以及
将每个识别的数据库页按重要性排列以便在对应的重做事务之前或基本同时到达该备份节点,由此该对应的重做事务无需等待每个数据库页被存储到该备份节点上就能够在该识别的数据库页上操作。
10.根据权利要求9所述的方法,其中修改的数据库页优先于未修改的数据库页。
11.根据权利要求9所述的方法,其中主存储器中的数据库页优先于永久存储器中的数据库页。
12.根据权利要求9所述的方法,进一步包括:识别由重做事务操作的两个或者多个数据页,以及与发送该创建的重做事务并行地发送所述两个或者多个数据页。
13.根据权利要求9所述的方法,其中该主节点向该备份节点通知所有的数据库页都已经被发送。
14.根据权利要求9所述的方法,其中该备份 节点向该主节点通知所有的数据库页都已经被接收。
15.根据权利要求9所述的方法,其中重做事务和数据库页面在被发送到备份节点前在发送缓存器中交叉存取。
16.根据权利要求9所述的方法,其中事务在该主节点上放置连续负载。
17.一种计算机可读存储介质,其上存储有计算机可读程序代码,该计算机可读程序代码被配置为执行根据权利要求9至16任意一个所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1311259.4 | 2013-06-25 | ||
GB1311259.4A GB2515501A (en) | 2013-06-25 | 2013-06-25 | Replication for on-line hot-standby database |
PCT/EP2014/055431 WO2014206581A1 (en) | 2013-06-25 | 2014-03-18 | Replication for on-line hot-standby database |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105339939A CN105339939A (zh) | 2016-02-17 |
CN105339939B true CN105339939B (zh) | 2019-01-08 |
Family
ID=48998901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480036375.1A Active CN105339939B (zh) | 2013-06-25 | 2014-03-18 | 对在线热备份数据库的复制 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9798792B2 (zh) |
JP (1) | JP6362685B2 (zh) |
CN (1) | CN105339939B (zh) |
DE (1) | DE112014001873T5 (zh) |
GB (2) | GB2515501A (zh) |
WO (1) | WO2014206581A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2515501A (en) | 2013-06-25 | 2014-12-31 | Ibm | Replication for on-line hot-standby database |
US11671396B2 (en) | 2015-03-20 | 2023-06-06 | Royal Bank Of Canada | System and methods for message redundancy |
US10261943B2 (en) | 2015-05-01 | 2019-04-16 | Microsoft Technology Licensing, Llc | Securely moving data across boundaries |
US20160321332A1 (en) * | 2015-05-01 | 2016-11-03 | Microsoft Technology Licensing, Llc | Database scaling with isolation |
CN105227683B (zh) * | 2015-11-11 | 2018-10-19 | 中国建设银行股份有限公司 | 一种ldap集群数据同步方法及*** |
CN107122354B (zh) | 2016-02-24 | 2020-05-08 | 华为技术有限公司 | 事务执行方法、装置及*** |
CN107665155B (zh) * | 2016-07-28 | 2021-07-09 | 华为技术有限公司 | 处理数据的方法和装置 |
CN106502835B (zh) * | 2016-10-26 | 2018-10-16 | ***股份有限公司 | 一种容灾备份方法及装置 |
US10769040B2 (en) * | 2016-11-21 | 2020-09-08 | Sap Se | Logical equivalent replication with snapshot based fallback of database systems |
US10795779B2 (en) * | 2017-02-17 | 2020-10-06 | Sap Se | Asynchronous garbage collection in database redo log replay |
US10481986B2 (en) * | 2017-07-11 | 2019-11-19 | Sap Se | Automatic adoption of parallelized database garbage collection |
US11157511B2 (en) * | 2017-07-19 | 2021-10-26 | Sap Se | Physical replication of database |
CN107368392A (zh) * | 2017-07-25 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种从数据库的重建方法、主数据库及从数据库 |
US11301332B2 (en) * | 2017-07-31 | 2022-04-12 | Honeywell International Inc. | Automatic firmware upgrade of an embedded node |
CN108446187B (zh) * | 2018-03-07 | 2021-02-09 | 上海达梦数据库有限公司 | 数据备份方法及数据还原方法 |
CN110413210B (zh) * | 2018-04-28 | 2023-05-30 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、设备和计算机程序产品 |
US10901957B2 (en) * | 2018-08-29 | 2021-01-26 | International Business Machines Corporation | Checkpointing for increasing efficiency of a blockchain |
US11334439B2 (en) | 2018-08-29 | 2022-05-17 | International Business Machines Corporation | Checkpointing for increasing efficiency of a blockchain |
US11196542B2 (en) | 2018-08-29 | 2021-12-07 | International Business Machines Corporation | Checkpointing for increasing efficiency of a blockchain |
CN110874287B (zh) * | 2018-08-31 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 数据库中数据的备份及恢复方法、装置及电子设备 |
CN111198782A (zh) * | 2018-11-16 | 2020-05-26 | ***通信集团辽宁有限公司 | 数据重分布方法、装置、设备及存储介质 |
US10997204B2 (en) * | 2018-12-21 | 2021-05-04 | Elasticsearch B.V. | Cross cluster replication |
CN112015807B (zh) * | 2019-05-31 | 2024-07-02 | 阿里巴巴集团控股有限公司 | 数据同步的处理方法、装置、电子设备及计算机存储介质 |
US11341159B2 (en) | 2019-08-22 | 2022-05-24 | International Business Machines Corporation | In-stream data load in a replication environment |
CN110825758B (zh) * | 2019-10-31 | 2022-11-15 | ***股份有限公司 | 一种交易处理的方法及装置 |
CN111400404A (zh) * | 2020-03-18 | 2020-07-10 | 中国建设银行股份有限公司 | 一种节点初始化方法、装置、设备及存储介质 |
CN111443867B (zh) * | 2020-03-24 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 一种数据存储方法、装置、设备及存储介质 |
US11907260B2 (en) | 2020-04-19 | 2024-02-20 | International Business Machines Corporation | Compare processing using replication log-injected compare records in a replication environment |
CN113934745A (zh) * | 2020-06-29 | 2022-01-14 | 中兴通讯股份有限公司 | 数据同步处理方法、电子设备以及存储介质 |
WO2022094895A1 (en) * | 2020-11-05 | 2022-05-12 | Alibaba Group Holding Limited | Virtual data copy supporting garbage collection in distributed file systems |
US11579778B2 (en) * | 2020-11-13 | 2023-02-14 | Google Llc | Synchronous replication of high throughput streaming data |
CN113961150B (zh) * | 2021-10-29 | 2024-04-02 | 苏州浪潮智能科技有限公司 | 一种分布式持久性内存文件***保持数据一致性的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5884328A (en) * | 1997-08-29 | 1999-03-16 | Tandem Computers, Inc. | System and method for sychronizing a large database and its replica |
CN101594254A (zh) * | 2009-06-30 | 2009-12-02 | 中国运载火箭技术研究院 | 一种基于代理技术的网格计算容错***及方法 |
CN101741894A (zh) * | 2008-11-26 | 2010-06-16 | ***通信集团公司 | 一种分布式***的升级方法、升级调度节点及*** |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
US5799323A (en) * | 1995-01-24 | 1998-08-25 | Tandem Computers, Inc. | Remote duplicate databased facility with triple contingency protection |
US5799322A (en) * | 1995-01-24 | 1998-08-25 | Tandem Computer, Inc. | System and method for stopping updates at a specified timestamp in a remote duplicate database facility |
SE510050C2 (sv) * | 1997-07-21 | 1999-04-12 | Ericsson Telefon Ab L M | Metod för insamlande av logginformation vid förändring av databas |
US5951695A (en) | 1997-07-25 | 1999-09-14 | Hewlett-Packard Company | Fast database failover |
US20030142955A1 (en) * | 1997-09-12 | 2003-07-31 | Aki Hashizume | Apparatus for correcting an abnormality of video signal of a video system, its method, and recording medium storing the method |
US6732123B1 (en) * | 1998-02-23 | 2004-05-04 | International Business Machines Corporation | Database recovery to any point in time in an online environment utilizing disaster recovery technology |
US7260590B1 (en) * | 2000-12-06 | 2007-08-21 | Cisco Technology, Inc. | Streamed database archival process with background synchronization |
US7305421B2 (en) | 2001-07-16 | 2007-12-04 | Sap Ag | Parallelized redo-only logging and recovery for highly available main memory database systems |
US7039663B1 (en) * | 2002-04-19 | 2006-05-02 | Network Appliance, Inc. | System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot |
US8121978B2 (en) * | 2002-11-15 | 2012-02-21 | Sybase, Inc. | Database system providing improved methods for data replication |
US8095511B2 (en) | 2003-06-30 | 2012-01-10 | Microsoft Corporation | Database data recovery system and method |
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 |
US7587429B2 (en) | 2004-05-24 | 2009-09-08 | Solid Information Technology Oy | Method for checkpointing a main-memory database |
JP4484618B2 (ja) * | 2004-07-30 | 2010-06-16 | 株式会社日立製作所 | ディザスタリカバリシステム、プログラム及びデータの複製方法 |
US7529783B2 (en) | 2004-12-22 | 2009-05-05 | International Business Machines Corporation | Log shipping data replication with parallel log writing and log shipping at the primary site |
US7519859B2 (en) | 2005-08-30 | 2009-04-14 | International Business Machines Corporation | Fault recovery for transaction server |
US20070220059A1 (en) * | 2006-03-20 | 2007-09-20 | Manyi Lu | Data processing node |
US9098347B2 (en) * | 2006-12-21 | 2015-08-04 | Vmware | Implementation of virtual machine operations using storage system functionality |
US7711712B2 (en) * | 2007-03-12 | 2010-05-04 | Hitachi, Ltd. | System and method for managing consistency among volumes based on application information |
US8300917B2 (en) * | 2007-11-29 | 2012-10-30 | Wells Fargo Bank N.A. | Remote deposit capture for the gaming industry |
US7974943B2 (en) | 2008-10-30 | 2011-07-05 | Hewlett-Packard Development Company, L.P. | Building a synchronized target database |
US9230002B2 (en) * | 2009-01-30 | 2016-01-05 | Oracle International Corporation | High performant information sharing and replication for single-publisher and multiple-subscriber configuration |
US8627135B2 (en) * | 2010-08-14 | 2014-01-07 | Teradata Us, Inc. | Management of a distributed computing system through replication of write ahead logs |
US8589361B2 (en) * | 2010-08-30 | 2013-11-19 | Oracle International Corporation | Reduced disk space standby |
US10430298B2 (en) | 2010-10-28 | 2019-10-01 | Microsoft Technology Licensing, Llc | Versatile in-memory database recovery using logical log records |
US8527546B2 (en) | 2010-11-25 | 2013-09-03 | International Business Machines Corporation | Generating a checkpoint image for use with an in-memory database |
US8868512B2 (en) | 2011-01-14 | 2014-10-21 | Sap Se | Logging scheme for column-oriented in-memory databases |
US9495398B2 (en) | 2011-02-18 | 2016-11-15 | International Business Machines Corporation | Index for hybrid database |
US9155320B2 (en) | 2011-07-06 | 2015-10-13 | International Business Machines Corporation | Prefix-based leaf node storage for database system |
GB2502098A (en) | 2012-05-16 | 2013-11-20 | Ibm | Performance analysis of a hypothetical database |
GB2515501A (en) | 2013-06-25 | 2014-12-31 | Ibm | Replication for on-line hot-standby database |
US9424261B2 (en) * | 2014-04-02 | 2016-08-23 | Oracle International Corporation | Techniques to take clean database file snapshot in an online database |
-
2013
- 2013-06-25 GB GB1311259.4A patent/GB2515501A/en not_active Withdrawn
-
2014
- 2014-03-18 WO PCT/EP2014/055431 patent/WO2014206581A1/en active Application Filing
- 2014-03-18 GB GB1601176.9A patent/GB2530958B/en active Active
- 2014-03-18 DE DE112014001873.2T patent/DE112014001873T5/de active Pending
- 2014-03-18 US US14/655,364 patent/US9798792B2/en active Active
- 2014-03-18 CN CN201480036375.1A patent/CN105339939B/zh active Active
- 2014-03-18 JP JP2016520319A patent/JP6362685B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5884328A (en) * | 1997-08-29 | 1999-03-16 | Tandem Computers, Inc. | System and method for sychronizing a large database and its replica |
CN101741894A (zh) * | 2008-11-26 | 2010-06-16 | ***通信集团公司 | 一种分布式***的升级方法、升级调度节点及*** |
CN101594254A (zh) * | 2009-06-30 | 2009-12-02 | 中国运载火箭技术研究院 | 一种基于代理技术的网格计算容错***及方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2016522514A (ja) | 2016-07-28 |
CN105339939A (zh) | 2016-02-17 |
GB2530958A (en) | 2016-04-06 |
GB201311259D0 (en) | 2013-08-14 |
GB2530958B (en) | 2018-04-25 |
DE112014001873T5 (de) | 2016-01-07 |
US20150339366A1 (en) | 2015-11-26 |
GB2515501A (en) | 2014-12-31 |
GB201601176D0 (en) | 2016-03-09 |
JP6362685B2 (ja) | 2018-07-25 |
WO2014206581A1 (en) | 2014-12-31 |
US9798792B2 (en) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105339939B (zh) | 对在线热备份数据库的复制 | |
JP5178822B2 (ja) | データベースマネジメントシステム(dbms)におけるデータ複製方法およびシステム | |
US8904225B2 (en) | Stream data processing failure recovery method and device | |
JP6152431B2 (ja) | データベース管理システム及び方法 | |
US9652492B2 (en) | Out-of-order execution of strictly-ordered transactional workloads | |
CN100485630C (zh) | 具有中央控制的数据备份的方法和*** | |
US8380660B2 (en) | Database system, database update method, database, and database update program | |
CN103562878A (zh) | 在镜像虚拟机***中的存储器检查点设置 | |
CA3150183C (en) | Flink streaming processing engine method and device for real-time recommendation and computer equipment | |
US10817382B2 (en) | Concurrent upgrade of primary and standby databases | |
CN103198088A (zh) | 基于阴影分页的日志段目录 | |
US20150067442A1 (en) | Information processing apparatus and data repairing method | |
CN110121694B (zh) | 一种日志管理方法、服务器和数据库*** | |
EP3149587B1 (en) | System and method for the production of job level pre-processed backup of critical data and/or datasets in a mainframe computing environment | |
US9015116B2 (en) | Consistent replication of transactional updates | |
KR20110088579A (ko) | 미러된 디스크에서 복구 제어 | |
JP5577471B2 (ja) | サーバ計算機、サーバ計算機システム、及びサーバ計算機制御方法 | |
US11803317B2 (en) | Interrupted replicated write recognition | |
US9563519B2 (en) | Reversing changes executed by change management | |
KR20190096837A (ko) | 충돌 페이지 리스트를 이용한 병렬 저널링 방법 및 그 장치 | |
US20240152429A1 (en) | Recoverable Processes | |
US20240103984A1 (en) | Leveraging backup process metadata for data recovery optimization | |
JP2010181924A (ja) | データベース管理方法および装置並びにその処理プログラム | |
WO2016120988A1 (ja) | データベースシステム及びデータベース管理方法 | |
WO2024129438A1 (en) | Pre-seeding databases for integration testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |