Combining capture and apply in a distributed information sharing system
First Claim
1. A method, comprising:
- a capture process on a source node creating a stream of messages including a plurality of logical change records, of a source database, mined from transaction logs at said source node;
a destination node setting up a memory structure on said destination node, wherein said capture process on said source node adds all of said plurality of logical change records into said memory structure by way of a single capture proxy process on said destination node, and wherein a single apply process on said destination node receives said all of said plurality of logical change records by way of said memory structure;
said capture process sending said plurality of logical change records in said stream of messages to said single capture proxy process on said destination node;
said single capture proxy process receiving said plurality of logical change records in said stream of messages from said capture process;
upon receiving said plurality of logical change records, said single capture proxy process, without taking a latch for adding said plurality of logical change records to said memory structure, adding said plurality of logical change records in said stream of messages from said capture process to said memory structure on said destination node;
while said single capture proxy process is concurrently adding more logical change records to said memory structure, said single apply process, without taking a latch for changing said plurality of logical change records from said memory structure, retrieving said plurality of logical change records from said memory structure and marking said plurality of logical change records;
wherein the method is performed by one or more computing devices.
2 Assignments
0 Petitions
Accused Products
Abstract
In accordance with an embodiment of the present invention, an information sharing mechanism comprising a memory structure may be provided in a database system. In an embodiment, mined information transferred by a capture process to an associated apply process can be written into the memory structure without taking any latch. Similarly, the mined information can be read by the apply process from the memory structure without taking any latch. The capture and apply processes may work cooperatively to establish a safe point in log mining under various circumstances such as in an initial startup state, in a steady state, in a process restart scenario in the middle of information sharing. In some embodiments, the information sharing mechanism supports both checkpoint-free and checkpoint modes of log mining by the capture process. In addition, both the capture process and the apply process may employ an eager apply approach to increase processing capacity.
-
Citations
28 Claims
-
1. A method, comprising:
-
a capture process on a source node creating a stream of messages including a plurality of logical change records, of a source database, mined from transaction logs at said source node; a destination node setting up a memory structure on said destination node, wherein said capture process on said source node adds all of said plurality of logical change records into said memory structure by way of a single capture proxy process on said destination node, and wherein a single apply process on said destination node receives said all of said plurality of logical change records by way of said memory structure; said capture process sending said plurality of logical change records in said stream of messages to said single capture proxy process on said destination node; said single capture proxy process receiving said plurality of logical change records in said stream of messages from said capture process; upon receiving said plurality of logical change records, said single capture proxy process, without taking a latch for adding said plurality of logical change records to said memory structure, adding said plurality of logical change records in said stream of messages from said capture process to said memory structure on said destination node; while said single capture proxy process is concurrently adding more logical change records to said memory structure, said single apply process, without taking a latch for changing said plurality of logical change records from said memory structure, retrieving said plurality of logical change records from said memory structure and marking said plurality of logical change records; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A volatile or non-volatile computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform:
-
a capture process on a source node creating a stream of messages including a plurality of change records, of a source database, mined from transaction logs at said source node; a destination node setting up a memory structure on said destination node, wherein said capture process on said source node adds all of said plurality of logical change records into said memory structure by way of a single capture proxy process on said destination node, and wherein a single apply process on said destination node receives said all of said plurality of logical change records by way of said memory structure; said capture process sending said plurality of logical change records in said stream of messages to said single capture proxy process on said destination node; said single capture proxy process receiving said plurality of logical change records in said stream of messages from said capture process; upon receiving said plurality of logical change records, said single capture proxy process, without taking a latch for adding said plurality of logical change records to said memory structure, adding said plurality of logical change records in said stream of messages from said capture process to said memory structure on said destination node; while said single capture proxy process is concurrently adding more logical change records to said memory structure, said single apply process, without taking a latch for changing said plurality of logical change records from said memory structure, retrieving said plurality of logical change records from said memory structure and marking said plurality of logical change records. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification