Apparatus and method for coordinating logical data replication with highly available data replication
DCFirst Claim
1. A database apparatus comprising:
- a critical database server including a primary server supporting a primary database instance and a secondary server supporting a secondary database instance that mirrors the primary database instance, the secondary server generating an acknowledgment signal indicating that a selected critical database transaction at the primary database instance is mirrored at the secondary database instance, the critical databases server including a mirroring component communicating with the primary and secondary servers to transfer database log file entries of the primary database instance to the secondary server, the secondary server applying and logging the transferred database log file entries to the secondary database instance and producing said acknowledgement signal subsequent to the applying and logging of the selected critical database transaction, wherein the mirroring component includes a control structure that indexes critical database transactions that are applied and logged at the secondary database instance, the acknowledgement signal corresponding to indexing in the control structure of at least one of the selected critical database transaction and a critical database transaction that commits after the selected critical database transaction;
a plurality of other servers each supporting corresponding database instances; and
a data replicator communicating with the critical database server and the plurality of other servers to replicate the selected critical database transaction on at least one of said plurality of other servers responsive to the acknowledgment signal.
4 Assignments
Litigations
0 Petitions
Reexamination
Accused Products
Abstract
In a database apparatus (10), a critical database server (12) includes a primary server (20) supporting a primary database instance and a secondary server (22) supporting a secondary database instance that mirrors the primary database instance. The secondary server (22) generates an acknowledgment signal (60) indicating that a selected critical database transaction (42) is mirrored at the secondary database instance. A plurality of other servers (14, 16, 18) each support a database. A data replicator (30) communicates with the critical database server (12) and the other servers (14, 16, 18) to replicate the selected critical database transaction (42) on at least one of said plurality of other servers (14, 16, 18) responsive to the acknowledgment signal (60).
81 Citations
10 Claims
-
1. A database apparatus comprising:
-
a critical database server including a primary server supporting a primary database instance and a secondary server supporting a secondary database instance that mirrors the primary database instance, the secondary server generating an acknowledgment signal indicating that a selected critical database transaction at the primary database instance is mirrored at the secondary database instance, the critical databases server including a mirroring component communicating with the primary and secondary servers to transfer database log file entries of the primary database instance to the secondary server, the secondary server applying and logging the transferred database log file entries to the secondary database instance and producing said acknowledgement signal subsequent to the applying and logging of the selected critical database transaction, wherein the mirroring component includes a control structure that indexes critical database transactions that are applied and logged at the secondary database instance, the acknowledgement signal corresponding to indexing in the control structure of at least one of the selected critical database transaction and a critical database transaction that commits after the selected critical database transaction; a plurality of other servers each supporting corresponding database instances; and a data replicator communicating with the critical database server and the plurality of other servers to replicate the selected critical database transaction on at least one of said plurality of other servers responsive to the acknowledgment signal. - View Dependent Claims (2, 3)
-
-
4. A database apparatus comprising:
-
a critical database server including a primary server supporting a primary database instance and a secondary server supporting a secondary database instance that mirrors the primary database instance, the secondary server generating an acknowledgment signal indicating that a selected critical database transaction is mirrored at the secondary database instance; a plurality of other servers each supporting a database; and
,a data replicator communicating with the critical database server and the plurality of other servers to replicate the selected critical database transaction on at least one of said plurality of other servers responsive to the acknowledgment signal, the data replicator including a send queue that stores one or more transactions that effect replication of the selected critical database transaction, wherein the selected critical database transaction is received by the critical database server from the data replicator, and wherein the data replicator further includes; a replication acknowledgment queue that buffers a replication acknowledgment sent by the critical database server to the data replicator; and a mirror monitor that transmits the queued replication acknowledgment to one of the other servers responsive to the acknowledgment signal.
-
-
5. Apparatus for supporting an associated distributed relational database including a primary server supporting a primary database instance with a primary database instance log file, a secondary server supporting a secondary database instance with a secondary instance log file, and a plurality of other servers each supporting a database instance, the apparatus comprising:
-
a highly available data replication component communicating with the primary and secondary servers to transfer primary database instance log file entries from the primary server to the secondary server, the secondary server producing an acknowledgment indicating that the transferred log file entries have been received; a logical data replication component communicating with the primary server and the other servers to identify a log record in the primary database instance log file, construct a replication transaction corresponding to the identified log record, and, responsive to the highly available data replication component indicating that the identified log record has been received at the secondary server, cause one or more of the other servers to perform the replication transaction, wherein the logical data replication component produces computation threads for replicating transactions; and
,a thread-verification component that terminates a computation thread if it is communicating with the secondary server.
-
-
6. Apparatus for supporting an associated distributed relational database including a primary server supporting a primary database instance with a primary database instance log file, a secondary server supporting a secondary database instance with a secondary instance log file, and a plurality of other servers each supporting a database instance, the apparatus comprising:
-
a highly available data replication component communicating with the primary and secondary servers to transfer primary database instance log file entries from the primary server to the secondary server, the secondary server producing an acknowledgment indicating that the transferred log file entries have been received; a logical data replication component communicating with the primary server and the other servers to identify a log record in the primary database instance log file, construct a replication transaction corresponding to the identified log record, and, responsive to the highly available data replication component indicating that the identified log record has been received at the secondary server, cause one or more of the other servers to perform the replication transaction; and
,a critical node database server logical entity that communicates with the logical data replication component as a single logical entity, the critical node database server logical entity representing the primary and secondary servers.
-
-
7. Apparatus supporting an associated distributed relational database including a primary server supporting a primary database instance with a primary database instance log file, a secondary server supporting a secondary database instance with a secondary instance log file, and a plurality of other servers each supporting a database instance, the apparatus comprising:
-
a highly available data replication component communicating with the primary and secondary servers to transfer primary database instance log file entries from the primary server to the secondary server, the secondary server producing an acknowledgment indicating that the transferred log file entries have been received, wherein the highly available data replication component includes an acknowledgment log index that identifies a position in the primary database instance log file corresponding to a most recent primary database instance log file entry transferred from the primary server to the secondary server and acknowledged by the secondary server, the indication that the identified log record has been received at the secondary server corresponding to the acknowledgment log index identifying a position in the primary database instance log file that is more recent than the identified log record; and a logical data replication component communicating with the primary server and the other servers to identify a log record in the primary database instance log file, construct a replication transaction corresponding to the identified log record, and, responsive to the highly available data replication component indicating that the identified log record has been received at the secondary server, cause one or more of the other servers to perform the replication transaction.
-
-
8. Apparatus supporting an associated distributed relational database including a primary server supporting a primary database instance with a primary database instance log file, a secondary server supporting a secondary database instance with a secondary instance log file, and a plurality of other servers each supporting a database instance, the apparatus comprising:
-
a highly available data replication component communicating with the primary and secondary servers to transfer primary database instance log file entries from the primary server to the secondary server, the secondary server producing an acknowledgment indicating that the transferred log file entries have been received; a logical data replication component communicating with the primary server and the other servers to identify a log record in the primary database instance log file, construct a replication transaction corresponding to the identified log record, and, responsive to the highly available data replication component indicating that the identified log record has been received at the secondary server, cause one or more of the other servers to perform the replication transaction, wherein the logical data replication component produces computation threads for replicating transactions, and the logical data replication component includes;
a thread terminator which terminates a computation thread responsive to a replication acknowledgment indicating a replication transaction generated by the computation thread has been performed by one or more servers. - View Dependent Claims (9)
-
-
10. Apparatus supporting an associated distributed relational database including a primary server supporting a primary database instance with a primary database instance log file, a secondary server supporting a secondary database instance with a secondary instance log file, and a plurality of other servers each supporting a database instance, the apparatus comprising:
-
a highly available data replication component communicating with the primary and secondary servers to transfer primary database instance log file entries from the primary server to the secondary server, the secondary server producing an acknowledgment indicating that the transferred log file entries have been received; a logical data replication component communicating with the primary server and the other servers to identify a log record in the primary database instance log file, construct a replication transaction corresponding to the identified log record, and, responsive to the highly available data replication component indicating that the identified log record has been received at the secondary server, cause one or more of the other servers to perform the replication transaction, wherein the distributed relational database further includes a second primary server supporting a second primary database instance with a second primary database instance log file, and a second secondary server supporting a second secondary database instance with a second secondary database instance log file; a second highly available data replication component communicating with the second primary and second secondary servers to transfer second primary database instance log file entries from the second primary server to the second secondary server, the second secondary server producing a second acknowledgment indicating that the transferred log file entries have been received; and wherein the logical data replication component additionally communicates with the second primary server and the second secondary server to identify a second log record in the second primary database instance log file, construct a second replication transaction corresponding to the identified second log record, and, responsive to the second highly available data replication component indicating that the identified second log record has been received at the second secondary server, cause at least one of the other servers and the primary server to perform the second replication transaction.
-
Specification