DISTRIBUTED TRANSACTION MANAGEMENT FOR DATABASE SYSTEMS WITH MULTIVERSIONING
First Claim
1. A distributed database transaction management system, comprising:
- a distributed transaction management component configured to enforce atomicity of a transaction operating on data at a plurality of distributed database nodes by facilitating synchronization of a commit timestamp used by the plurality of distributed database nodes in committing the transaction;
wherein the commit timestamp is synchronized without reference to a global clock globally available to the plurality of distributed database nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
The subject disclosure relates to a distributed transaction management technique that ensures synchronization between participating nodes in a global or distributed database transaction. The technique leverages a commit protocol that uses local clocks at the respective participating nodes. Participants in a global transaction are configured to utilize the same commit timestamp and logical read time and can advance their respective local clocks to establish this synchronization. In one embodiment, distributed commit utilizes a modified version of two-phase commit that includes an extra phase to collect commit timestamp votes from participants. Additionally, a heartbeat mechanism can be used to establish loose synchronization between nodes. In another embodiment, a node can respond to a remote transaction request by returning a list of nodes involved in generating the result of the transaction and the types of access used by such nodes in addition to the transaction result itself.
-
Citations
20 Claims
-
1. A distributed database transaction management system, comprising:
-
a distributed transaction management component configured to enforce atomicity of a transaction operating on data at a plurality of distributed database nodes by facilitating synchronization of a commit timestamp used by the plurality of distributed database nodes in committing the transaction; wherein the commit timestamp is synchronized without reference to a global clock globally available to the plurality of distributed database nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for managing a distributed database transaction, comprising:
-
receiving information relating to a transaction operating on data in data stores associated with respective participating nodes associated with the transaction; requesting commit time votes from the respective participating nodes; receiving the commit time votes from the respective participating nodes in response to the requesting; computing a global commit timestamp for the transaction based at least in part on the commit time votes; and synchronizing commitment of the transaction at the respective participating nodes to the global commit timestamp. - View Dependent Claims (13, 14, 15)
-
-
16. A method for managing a distributed database transaction, comprising:
-
receiving information relating to a distributed database transaction from a transaction coordinator associated with the distributed database transaction; determining a commit time vote for the distributed database transaction based at least in part on a local clock; communicating the commit time vote for the distributed database transaction to the transaction coordinator; receiving a global commit timestamp from the transaction coordinator; and synchronizing commitment of the distributed database transaction to the global commit timestamp. - View Dependent Claims (17, 18, 19, 20)
-
Specification