Replicating data between heterogeneous data systems
First Claim
1. A computer-implemented method comprising:
- retrieving, from a volatile storage queue, first data that identifies an operation that has been performed on a source data repository;
wherein the operation changed data within the source data repository; and
wherein the first data includes(a) an operation sequence identifier, wherein the operation sequence identifier identifies a sequential order of each operation applied to the source data repository, and(b) information necessary to replicate the change on a target data repository;
performing the operation on said target data repository;
after the operation on the target data repository has been performed, notifying a process that tracks changes on the source data repository that the operation has been performed on the target data repository, wherein notifying comprises sending to the process that tracks changes on the source repository, a message that includes the operation sequence identifier;
receiving, at the source data repository, the indication that the operation has been performed against the target data repository;
determining, at the source data repository, the operation identifier associated with the first data;
purging the first data from the source data repository; and
wherein the steps of the method are performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for replicating data between heterogeneous databases is provided. Data is replicated between two heterogeneous databases with the use of a volatile storage queue, enabling the rapid replication of data across databases provided by different vendors or operating on different platforms. According to one embodiment, an in-memory queue is used to queue change operations to be performed on a target data repository. The change operations may be operations that were applied to a source data repository. An apply process retrieves the change operations from in-memory queue and commits the change operations to persistent storage. When the change operations have been committed, the apply process notifies the source platform that the particular change operation has been stored.
-
Citations
32 Claims
-
1. A computer-implemented method comprising:
-
retrieving, from a volatile storage queue, first data that identifies an operation that has been performed on a source data repository; wherein the operation changed data within the source data repository; and wherein the first data includes (a) an operation sequence identifier, wherein the operation sequence identifier identifies a sequential order of each operation applied to the source data repository, and (b) information necessary to replicate the change on a target data repository; performing the operation on said target data repository; after the operation on the target data repository has been performed, notifying a process that tracks changes on the source data repository that the operation has been performed on the target data repository, wherein notifying comprises sending to the process that tracks changes on the source repository, a message that includes the operation sequence identifier; receiving, at the source data repository, the indication that the operation has been performed against the target data repository; determining, at the source data repository, the operation identifier associated with the first data; purging the first data from the source data repository; and wherein the steps of the method are performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 29, 30)
-
-
15. A computer-readable storage medium storing one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform:
-
retrieving, from a volatile storage queue, first data that identifies an operation that has been performed on a source data repository; wherein the operation changed data within the source data repository; and wherein the first data includes (a) an operation sequence identifier, wherein the operation sequence identifier identifies a sequential order of each operation applied to the source data repository, and (b) information necessary to replicate the change on a target data repository; performing the operation on said target data repository; after the operation on the target data repository has been performed, notifying a process that tracks changes on the source data repository that the operation has been performed on the target data repository, wherein notifying comprises sending to the process that tracks changes on the source repository, a message that includes the operation sequence identifier; receiving, at the source data repository, the message that indicates that the operation has been performed against the target data repository; determining, at the source data repository, the operation identifier associated with the first data; and purging the first data from the source data repository. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32)
-
Specification