Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
First Claim
1. In a transaction processing system including a first database system including a first database in which records are stored in units of transfer, a second database system including a second database which is a replica of said first database, and a transaction log coupled to said first database which contains a sequence of redo records representing changes made to said first database, a system for updating said second database to make it consistent with said first database, said system comprising:
- a plurality of queues for receiving transaction log records;
distribution means coupled to said transaction log and linked to said queues for placing said redo records on said queues such that all redo records corresponding to a respective unit of transfer in said first database are placed on the same queue in their log sequence; and
a plurality of parallel queue server means coupled to said second database, each queue server means linked to a plurality of respective queues for concurrently applying the redo records from said respective queue to said second database such that there is a single queue server for any queue, whereby redo records are applied to the second database in same sequence as they were placed on transaction log.
1 Assignment
0 Petitions
Accused Products
Abstract
Change processing of a replica database is accomplished by separating redo records obtained from the transaction log of a primary database into respective queues. The redo records are separated such that all transaction records for a unit of transfer (page) of the primary database are placed on the same queue in log sequence. Each queue is linked exclusively to one of a plurality of parallel queue servers. Each queue server applies to the replica database the redo records in the queues which it exclusively serves. The replica database is thereby made consistent with the primary data by a lock-free updating mechanism which services the pages of the replica database in parallel.
-
Citations
5 Claims
-
1. In a transaction processing system including a first database system including a first database in which records are stored in units of transfer, a second database system including a second database which is a replica of said first database, and a transaction log coupled to said first database which contains a sequence of redo records representing changes made to said first database, a system for updating said second database to make it consistent with said first database, said system comprising:
-
a plurality of queues for receiving transaction log records; distribution means coupled to said transaction log and linked to said queues for placing said redo records on said queues such that all redo records corresponding to a respective unit of transfer in said first database are placed on the same queue in their log sequence; and a plurality of parallel queue server means coupled to said second database, each queue server means linked to a plurality of respective queues for concurrently applying the redo records from said respective queue to said second database such that there is a single queue server for any queue, whereby redo records are applied to the second database in same sequence as they were placed on transaction log. - View Dependent Claims (2, 3)
-
-
4. A method for ensuring consistency between a first database in which records are stored in units of transfer and a second database which is a replica of said first database, said method being executed by a transaction processing system which includes a transaction log, a means for enqueing transaction log records and a plurality of queue servers, said method comprising the steps of:
-
accumulating a sequence of redo records in a transaction log corresponding to changes made to said first database; maintaining a plurality of redo records queues; placing redo records for any respective unit of transfer of said first database on only one such queue; and concurrently applying redo records from two or more such queues to said second database, wherein redo records from any one of said queues are applied to said second database by only a respective one of said queue servers in said transaction processing system such that transaction log sequence is maintained.
-
-
5. A method for updating a local database, said method being executed by a database system which includes a transaction log, a means for enqueing transaction log records and a plurality of server processes and comprising the steps of:
-
receiving redo log records in a transaction log from an active database in which records are stored in units of storage with which the local database is to be maintained consistent; creating two or more queues of such redo log records; storing redo log records for any unit of storage on only one such queue; and
simultaneously applying redo log records from two or more such queues to the local database using two or more server processes, wherein redo log records from any one queue are applied to the database by only one server process at any given time such that transaction log sequence is maintained.
-
Specification