Replication of a relational database

US10275507B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10275507-B2
Application numberUS-201514665565-A
CountryUS
Kind codeB2
Filing dateMar 23, 2015
Priority dateMar 26, 2014
Publication dateApr 30, 2019
Grant dateApr 30, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments are provided for replicating a relational source database associated with a transaction log of the relational source database. In operation, embodiments may perform receiving a request for replicating data of the relational source database to a relational target database and identifying a first start position within the transaction log. Upon having identified the first start position, embodiments may further perform waiting at least a time period for ensuring that each transaction currently executing on the relational source database at a moment of receiving said request has terminated at an end of said time period. After having waited said time period, embodiments may perform an asynchronously creating of a copy of data of the relational source database to produce a created copy. In turn, embodiments may perform writing the created copy to the relational target database and identifying a repair start position within the transaction log.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for replicating a relational source database, the computer-implemented method comprising: associating the relational source database with a transaction log, the transaction log comprising a list of all transactions previously or currently being performed on the relational source database in chronological order, receiving a request for replicating data of the relational source database to a relational target database; in response to receiving the request for replicating data of the relational source database, identifying a first start position within the transaction log, the first start position being indicative of a most recent log position in said transaction log; identifying a time period by one of: analyzing the transaction log to identify a previously executed transaction having a maximum execution time of all previously executed transactions listed in the transaction log, and using said maximum execution time as the time period, or using the moment in time of identifying the first start position as first time point, identifying all currently executed transactions at the first time point, identifying a moment in time as a second time point when the one of said currently executed transactions having the longest execution time commits, and using the time period between said first and second time points; upon having identified the first start position, waiting at least the time period for ensuring that each transaction currently executing on the relational source database at a moment of receiving said request for replicating data of the relational source database has terminated at an end of the time period; after having waited the time period, asynchronously creating a copy of data of the relational source database to produce a created copy by selectively reading at least one of unmodified data and data having been stored to the relational source database by committed transactions, wherein the selectively reading excludes any changes to be imposed on or having already been imposed on data values by transactions that are not committed at a moment when said one or more data values are read for creating the copy, wherein the relational source database is configured to impose locks on individual data values being currently read for creating the copy by reading of the data on concurrently executed transactions of the relational source database, whereby all other data values contained in a same row as the currently read individual data values allow read operations and write operations by the concurrent transactions; writing the created copy to the relational target database; and in response to completing the writing of the created copy to the relational target database, identifying a repair start position within the transaction log, the repair start position representing a moment of starting a repair operation, the repair operation comprising: identifying in the transaction log a current set of transactions, the current set of transaction comprising all transactions having been currently executed at a moment of identifying the first start position, identifying a first and a second set of operations, the first set of operations consisting of all operations of transactions in said current set of transactions having been performed on the relational source database before a moment of starting the reading of the data, the second set of operations consisting of all operations of transactions in said current set of transactions having been performed on the relational source database at or after the moment of starting the reading of the data, identifying within the transaction log a first set of transactions comprising all transactions which started at or after the first start position and which committed before the repair start position, and traversing the transaction log for selectively executing on the copy written in the relational target database all operations of the transactions contained in the first set of transactions and all operations of the second set of operations to exclude all operations of the first set of operations. 2. The computer implemented method of claim 1 , wherein said maximum execution time is used as the time period, and the method further comprises: determining that at least one transaction having been currently executed in the moment of identifying the first start position has not committed at the end of the time period; and outputting a warning message or automatically re-executing of the computer implemented method following the receiving of the request to use a current time as the time of receiving the request. 3. The computer implemented method of claim 1 , wherein each transaction comprises of one or more operations, wherein the executing of the identified first set of transactions and the executing of the second set of operations comprises: checking, for each of the operations of said first set of transactions or for each operation of said second set of operations, if changes to be imposed on one or more data values by said operation had already been performed on said data values in the relational source database before the copy was created; and selectively executing said operations only in case said changes had not been performed already. 4. The computer implemented method of claim 3 , the transaction log comprising, for any UPDATE, INSERT and DELETE operation, one or more original data values to be overwritten by said operation and one or more respective new data values to overwrite the original data values, the checking if the changes had already been performed comprising comparing the original data values or the new data values with corresponding data values of the copy in the relational target database for determining if a respective operation had already been performed in the relational source database before said data values were read for creating the copy. 5. The computer implemented method of claim 1 , wherein the transaction log comprises checkpoints, wherein each checkpoint is a point automatically and regularly specified and written into the transaction log and from which an SQL based database engine is able to start applying changes contained in the transaction log during recovery after an unexpected shutdown or crash, and wherein determining the first start position comprises using a most recent checkpoint in said transaction log at the moment of the starting of the creating the copy as the first starting position. 6. The computer implemented method of claim 1 , said method being performed by a controller module, the reading of the data by the controller module for creating the copy comprising: the controller module sending a first command to a copying module for initiating the reading of the data; in response to said first command, the copying module: configuring the relational source database, reading data from the relational source database, and forwarding the data from the relational source database to the controller module, wherein the controller module creates the copy of the data from the forwarded data. 7. The computer implemented method of claim 6 , wherein the relational source database and the controller module are operated on a first processing device and the relational target database is operated on a second processing device, the first and second processing devices being connected to each other via a network. 8. A non-transitory computer-readable medium comprising machine executable instructions for execution by one or more processors, wherein execution of the instructions causes the one or more processors to execute a computer implemented method for replicating a relational source database, the computer-implemented method

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • G06F16/27Primary

    Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Asynchronous replication or reconciliation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10275507B2 cover?
Embodiments are provided for replicating a relational source database associated with a transaction log of the relational source database. In operation, embodiments may perform receiving a request for replicating data of the relational source database to a relational target database and identifying a first start position within the transaction log. Upon having identified the first start positio…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F17/30575. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 30 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).