CONTROLLING A MULTI-DATABASE SYSTEM
First Claim
1. A computer-implemented method for controlling a system, the system comprising a source database and a target database,the system being configured to asynchronously replicate data changes of at least one part of the source database to the target database, the asynchronous replication comprising:
- evaluating, by a capture engine of the system, a log of the source database for identifying un-replicated data changes of the at least one part of the source database,transferring the un-replicated data changes identified by the evaluation to an apply engine of the system, andapplying, by the apply engine, the un-replicated data changes of the at least one part of the source database to the target database,the computer-implemented method comprising;
detecting a trigger event for initiating a loading of the complete data content of the at least one part of the source database to the target database;
in response to the trigger event and regardless of a number of log records that the capture engine has not evaluated, triggering the apply engine to stop the applying of the un-replicated data changes of the at least one part of the source database to the target database;
in response to stopping the applying of the un-replicated data changes of the at least one part of the source database to the target database by the apply engine, triggering an insert of a start load signal into the log of the source database at a current head of log position;
in response to the insertion of the start load signal and regardless of the number of the log records that the capture engine has not evaluated, initializing the loading of the complete data content of the at least one part of the source database to the target database,wherein during the loading of the complete data content, concurrent write statements are performed and permitted on the at least one part of the source database;
after the loading of the complete data content is complete, triggering an inserting of an end load signal into the log at a current head of log position;
while the loading is performed, triggering the capture engine to store all write statements which are executed, according to the log of the source database , on the at least one part of the source database after the start load signal and before the end load signal in a queue;
after the loading has completed, triggering the apply engine to apply the write statements stored in the queue to the complete data content of the at least one part of the source database having been loaded completely into the target database,wherein the applying of the write statements comprises identifying and skipping all write statements of which resulting data changes were already transferred to the target database by the loading.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented method for controlling a system is provided. The system includes a source database and a target database. The system can asynchronously replicate data changes of at least one part of the source database to the target database. This asynchronous replication includes evaluating, by a capture engine, a log of the source database for identifying any un-replicated data changes of the at least one part of the source database, transferring the identified data changes to an apply engine, and applying, by the apply engine, the transferred data changes to the target database.
-
Citations
21 Claims
-
1. A computer-implemented method for controlling a system, the system comprising a source database and a target database,
the system being configured to asynchronously replicate data changes of at least one part of the source database to the target database, the asynchronous replication comprising: -
evaluating, by a capture engine of the system, a log of the source database for identifying un-replicated data changes of the at least one part of the source database, transferring the un-replicated data changes identified by the evaluation to an apply engine of the system, and applying, by the apply engine, the un-replicated data changes of the at least one part of the source database to the target database, the computer-implemented method comprising; detecting a trigger event for initiating a loading of the complete data content of the at least one part of the source database to the target database; in response to the trigger event and regardless of a number of log records that the capture engine has not evaluated, triggering the apply engine to stop the applying of the un-replicated data changes of the at least one part of the source database to the target database; in response to stopping the applying of the un-replicated data changes of the at least one part of the source database to the target database by the apply engine, triggering an insert of a start load signal into the log of the source database at a current head of log position; in response to the insertion of the start load signal and regardless of the number of the log records that the capture engine has not evaluated, initializing the loading of the complete data content of the at least one part of the source database to the target database, wherein during the loading of the complete data content, concurrent write statements are performed and permitted on the at least one part of the source database; after the loading of the complete data content is complete, triggering an inserting of an end load signal into the log at a current head of log position; while the loading is performed, triggering the capture engine to store all write statements which are executed, according to the log of the source database , on the at least one part of the source database after the start load signal and before the end load signal in a queue; after the loading has completed, triggering the apply engine to apply the write statements stored in the queue to the complete data content of the at least one part of the source database having been loaded completely into the target database, wherein the applying of the write statements comprises identifying and skipping all write statements of which resulting data changes were already transferred to the target database by the loading. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 17, 18, 19)
-
-
13. (canceled)
-
14. A control system operatively coupled to a system, the system comprising a source database and a target database, the system being configured such that data changes of at least one part of the source database are asynchronously replicated to the target database, wherein the asynchronous replication comprises:
-
evaluating, by a capture engine of the system, a log of the source database for identifying un-replicated data changes of the at least one part of the source database, transferring the un-replicated data changes identified by the evaluation to an apply engine of the system, and applying, by the apply engine, the un-replicated data changes in-of the at least one part of the source database to the target database, the control system comprising; a control module, the control module being operatively coupled to a signal injection module and a loader module; wherein the control module is configured to; detecting a trigger event for initiating a loading of complete data content of the at least one part of the source database to the target database; in response to the trigger event and regardless of a number of log records that the capture engine has not evaluated yet, triggering the apply engine to stop the applying of the un-replicated data changes of the at least one part of the source database to the target database; in response to stopping the applying of the un-replicated data changes of the at least one part of the source database to the target database by the apply engine, triggering an inserting of a start load signal into the log of the source database at a current head of log position; in response to the insertion of the start load signal and regardless of the number of the log records that the capture engine has not evaluated, initializing the loading of the complete data content of the at least one part of the source database to the target database, wherein during the loading of the complete data content, performing concurrent write statements are performed and permitted on the at least one part of the source database; after the loading of the complete data content is complete, triggering an inserting of an end load signal into the log at a current head of log position; while the loading is performed, triggering the capture engine to store all write statements which are executed, according to the log of the source database, on the at least one part of the source database after the start load signal and before the end load signal in a queue; after the loading has completed, triggering the apply engine to apply the write statements stored in the queue to the complete data content of the at least one part of the source database having been loaded completely into the target database, wherein the applying of the write statements comprises identifying and skipping all write statements of which resulting data changes were already transferred to the target database. - View Dependent Claims (15)
-
-
20. A computer program product for controlling a system, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the system comprising a source database and a target database,
the system being configured to asynchronously replicate data changes of at least one part of the source database to the target database, the asynchronous replication comprising: -
evaluating, by a capture engine of the system, a log of the source database for identifying un-replicated data changes of the at least one part of the source database, transferring the un-replicated data changes identified by the evaluation to an apply engine of the system, and applying, by the apply engine, the un-replicated data changes of the at least one part of the source database to the target database, the program instructions executable by a processor to cause the processor to; detecting a trigger event for initiating a loading of complete data content of the at least one part of the source database to the target database; in response to the trigger event and regardless of a number of log records that the capture engine has not evaluated, triggering the apply engine to stop the applying of the un-replicated data changes of the at least one part of the source database to the target database; in response to stopping the applying of the un-replicated data changes of the at least one part of the source database to the target database by the apply engine, triggering an insert of a start load signal into the log of the source database at a current head of log position; in response to the insertion of the start load signal and regardless of the number of the log records that the capture engine has not evaluated, initializing the loading of the complete data content of the at least one part of the source database to the target database, wherein during the loading of the complete data content, concurrent write statements are performed and permitted on the at least one part of the source database; after the loading of the complete data content is complete, triggering an insert of an end load signal into the log at a current head of log position; while the loading is performed, triggering the capture engine to store all write statements which are executed, according to the log of the source database, on the at least one part of the source database after the start load signal and before the end load signal in a queue; after the loading has completed, triggering the apply engine to apply the write statements stored in the queue to the complete data content of the at least one part of the source database having been loaded completely into the target database, wherein the applying of the write statements comprises identifying and skipping all write statements of which resulting data changes were already transferred to the target database. - View Dependent Claims (21)
-
Specification