Synchronization of plural databases in a database replication system
First Claim
1. A method of synchronizing plural databases in a database replication system including a plurality of nodes connected via communication media in a topology, each node including (i) a database, (ii) an audit trail of all transactions posted to the database, and (iii) a transaction transmitter which sends selected transactions in the audit trail to one or more other nodes, the method comprising:
- (a) reading one or more blocks of data from a source database at a first node;
(b) assigning a marker to the one or more blocks of data;
(c) writing the marker to the audit trail at the first node;
(d) the transaction transmitter at the first node sending the marker in the audit trail to a second node having a target database;
(e) sending the one or more blocks of data from the first node to the second node without passing the one or more blocks of data through the audit trail;
(f) at the second node, storing the one or more blocks of data in the target database upon receipt at the second node of the one or more blocks of data and the marker assigned to the one or more blocks of data; and
(g) repeating steps (a) through (f) for additional blocks of data in the source database, wherein a marker is assigned to each subsequent one or more blocks of data, the method thereby allowing some or all of the source database to be replicated to the target database without having to store or pass any data in the source database in or through the audit trail at the first node.
7 Assignments
0 Petitions
Accused Products
Abstract
In a database synchronization process, a block of data is read from a source database at the first node. A marker is assigned to the block of data, and the marker is then written to an audit trail at the first node. The marker is sent from the audit trail to a second node having a target database. The block of data is sent from the first node to the second node without passing the block of data through the audit trail. At the second node, the block of data is stored in the target database upon receipt at the second node of the block of data and the marker assigned to the block of data. This process is repeated for additional blocks of data in the source database, wherein a marker is assigned to each subsequent block of data. In this manner, some or all of the source database may be replicated to the target database without having to store or pass any data in the source database in or through the audit trail at the first node.
166 Citations
44 Claims
-
1. A method of synchronizing plural databases in a database replication system including a plurality of nodes connected via communication media in a topology, each node including (i) a database, (ii) an audit trail of all transactions posted to the database, and (iii) a transaction transmitter which sends selected transactions in the audit trail to one or more other nodes, the method comprising:
-
(a) reading one or more blocks of data from a source database at a first node; (b) assigning a marker to the one or more blocks of data; (c) writing the marker to the audit trail at the first node; (d) the transaction transmitter at the first node sending the marker in the audit trail to a second node having a target database; (e) sending the one or more blocks of data from the first node to the second node without passing the one or more blocks of data through the audit trail; (f) at the second node, storing the one or more blocks of data in the target database upon receipt at the second node of the one or more blocks of data and the marker assigned to the one or more blocks of data; and (g) repeating steps (a) through (f) for additional blocks of data in the source database, wherein a marker is assigned to each subsequent one or more blocks of data, the method thereby allowing some or all of the source database to be replicated to the target database without having to store or pass any data in the source database in or through the audit trail at the first node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of synchronizing plural databases in a database replication system including a plurality of nodes connected via communication media in a topology, each node including (i) a database, (ii) an audit trail of all transactions posted to the database, and (iii) a transaction transmitter which sends selected transactions in the audit trail to one or more other nodes, the method comprising:
-
(a) reading one or more blocks of data from a source database at a first node; (b) assigning a marker to the one or more blocks of data; (c) writing the marker to the audit trail at the first node; (d) the transaction transmitter at the first node sending the marker in the audit trail to a second node having a target database; (e) sending indicia of the contents of the one or more blocks of data to the second node and receiving the indicia and the marker at the second node; (f) comparing indicia of any corresponding blocks of data in the target database; (g) upon receipt at the second node of the marker for the corresponding one or more blocks of data, synchronizing the target database with the source database based upon the results of the comparison; and (h) repeating steps (a) through (g) for additional blocks of data in the source database, wherein a marker is assigned to each subsequent one or more blocks of data. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for synchronizing a target database with a source database in a database replication system wherein the source database is on-line during the synchronization, the target database thus receiving replication data during the synchronization, the source database being located at a first node of the system, and the target database being located at a second node of the system, the method comprising:
-
(a) sending successive blocks of data from the first node to the target database, each one or more blocks of data having a key range, each one or more blocks of data including one or more rows of data; (b) posting the successively sent blocks of data to the target database; (c) storing the total key range of the blocks of data received at the target database; and (d) posting any replication data received at the target database only if the row of data, or a key range inclusive of the row of data, corresponding to the received data has been previously posted to the target database through the synchronizing process. - View Dependent Claims (31, 32, 33)
-
-
34. A method for synchronizing a target database with a source database and replicating the source database to the target database in a database replication system, wherein the source database is on-line during the synchronization, the source database being located at a first node of the system, and the target database being located at a second node of the system, the method comprising:
-
(a) replicating changes in the source database to the target database by sending a replication stream from the first node to the second node; (b) sending successive blocks of data from the first node to the target database to synchronize or resynchronize the target database with the source database, each one or more blocks of data including one or more rows of data; (c) inserting the successively sent blocks of data into the replication stream at a point when the respective blocks of data are current or consistent in the source database; and (d) posting the replication stream to the target database, the method thereby allowing synchronization or resynchronization to occur simultaneously with replication. - View Dependent Claims (35, 36, 37)
-
-
38. A method for synchronizing a target database with a source database and replicating the source database to the target database in a database replication system, wherein the source database is on-line during the synchronization, the source database being located at a first node of the system, and the target database being located at a second node of the system, the method comprising:
-
(a) replicating changes in the source database to the target database by sending a replication stream from the first node to the second node; (b) sending successive blocks of data from the first node to the target database to synchronize or resynchronize the target database with the source database, each one or more blocks of data including one or more rows of data, the successively sent blocks of data defining a loading stream; and (c) posting the successively sent blocks of data into the target database when the replication stream is occurring slower than the loading stream, the method thereby allowing synchronization or resynchronization to occur simultaneously with replication. - View Dependent Claims (39)
-
-
40. A method of synchronizing plural databases in a database replication system including a plurality of nodes connected via communication media in a topology, each node including (i) a database, (ii) an audit trail of all transactions posted to the database, and (iii) a transaction transmitter which sends selected transactions in the audit trail to one or more other nodes, the method comprising:
-
(a) initiating a transaction at the source database in a first node, the transaction initiation generating a transaction identifier; (b) reading one or more blocks of data from a source database at the first node; (c) assigning the transaction identifier to the one or more blocks of data, the transaction identifier being a marker for the one or more blocks of data; (d) completing the transaction and entering the transaction identifier into the audit trail; (e) the transaction transmitter at the first node sending the marker in the audit trail to a second node having a target database; (f) sending the one or more blocks of data from the first node to the second node without passing the one or more blocks of data through the audit trail; (g) at the second node, storing the one or more blocks of data in the target database upon receipt at the second node of the one or more blocks of data and the marker assigned to the one or more blocks of data; and (h) repeating steps (a) through (g) for additional blocks of data in the source database, wherein a marker is assigned to each subsequent one or more blocks of data, the method thereby allowing some or all of the source database to be replicated to the target database without having to store or pass any data in the source database in or through the audit trail at the first node. - View Dependent Claims (41, 42)
-
-
43. A method of synchronizing plural databases in a database replication system including a plurality of nodes connected via communication media in a topology, each node including (i) a database, (ii) an audit trail of all transactions posted to the database, and (iii) a transaction transmitter which sends selected transactions in the audit trail to one or more other nodes, the method comprising:
-
(a) reading one or more blocks of data from a source database at a first node; (b) assigning a marker to the one or more blocks of data, wherein the marker indicates the current audit trail insertion point; (c) sending the one or more blocks of data and the marker from the first node to the second node without passing the one or more blocks of data or the marker through the audit trail, wherein the marker is piggybacked onto the one or more blocks of data; (d) at the second node, storing the one or more blocks of data in the target database upon receipt at the second node of the one or more blocks of data and the marker assigned to the one or more blocks of data, wherein the one or more blocks of data are stored in the target database at the insertion point indicated by the marker; and (e) repeating steps (a) through (d) for additional blocks of data in the source database, wherein a marker is assigned to each subsequent one or more blocks of data, the method thereby allowing some or all of the source database to be replicated to the target database without having to store or pass any data in the source database in or through the audit trail at the first node. - View Dependent Claims (44)
-
Specification