Providing A Multi-Process Apply Using A Shared, Consumer/Producer Work Queue
Publication Date: 2014-Jul-23
The IP.com Prior Art Database
AbstractA method and system is disclosed for providing a multi-process apply using a shared, consumer/producer work queue.
Page 01 of 2
/Producer Work Queue
Producer Work Queue
Disclosed is a method and system for providing a multi-process apply using a shared, consumer/producer work queue.
In a high volume, homogeneous Database management System (DBMS) replication environment, where the Recovery Point Objective (RPO) and Recovery Time Objective (RTO) is contained to the second or sub-second range, a particular emphasis is placed on performance and efficiency. The elimination of unnecessary in-stream processing is an iterative process, where the ultimate bottleneck is generally found in the application of captured changes to a target DBMS. Most replication products, therefore, implement a high-performance apply server using a dependency analysis node to identify independent transactions and dependent transactions. The transactions are identified such that a pool of parallel writer nodes apply the independent transactions against the target DBMS in an efficient manner. In a typical node configuration for replication apply engines, the nodes are usually implemented as threads in a single monolithic process, or an address space.
The disclosed method and system creates an extended consumer producer model store or set of stores that employs lock-less serialization techniques. According to embodiments of the present invention, the lockless serialization techniques are shared between an apply server address space and a transaction manager address space. A single control pipe is used for basic coordination; while all bulk data movement is achieved using a consumer producer lock-less store. Dependency analysis nodes reside in the apply server address space and writer nodes reside in the transaction manager address space creating a distributed processing model, for a replication apply function, that is highly efficient. A high performance, concurrent, B+ tree enables a consumer producer environment between two foreign address spaces by using backing stores in shared memory.
Providing A Multi - -Process Apply Using A Shared
Process Apply Using A Shared , ,
A topology of the method and system is illustrated in the below figure, according to embodiments of the present invention.
As shown in the figure, the apply server receives inbound tran...