Patent ID: 8650155

Claim:
A method of analyzing distributed transactions performed on a primary database system and replicating the distributed transactions on a secondary database system, the method comprising: at the primary database system: performing a global transaction on the primary database system, wherein: the primary database system comprises a first plurality of nodes; each of the first plurality of nodes comprises a transaction log; and the global transaction comprises a plurality of local transactions performed on a subset of the first plurality of nodes; storing records of the local transactions in the transaction logs, wherein the records comprise: a global transaction identifier; and a list of nodes involved in the global transaction; and sending the records of the local transactions from the transaction logs over a network to the secondary database system; and at the secondary database system: storing the records of the local transactions, wherein: the secondary database system comprises a second plurality of nodes; each of the second plurality of nodes comprises a commit-ordered transaction queue; and the records of the local transactions are stored in the commit-ordered transaction queues of nodes in the secondary database system that correspond to nodes in the primary database system; waiting until the global transaction is completely represented in the commit-ordered transaction queues by monitoring the global transaction identifier and the list of nodes involved in the global transaction; and performing, after the global transaction is completely represented in the commit-ordered transaction queues, the plurality of local transactions on corresponding nodes in the second plurality of nodes in the secondary database system, such that data affected by the global transaction in the secondary database system matches corresponding data affected by the global transaction in the primary database system.