One-phase commit in a shared-nothing database system
First Claim
1. A method for performing a distributed transaction in a shared-nothing database system, the method comprising:
- on a first shared-nothing node of said shared-nothing database system, causing a coordinator that is coordinating the distributed transaction to store information that indicates status of said distributed transaction on a persistent storage device;
wherein the persistent storage device is accessible to a participant that is to perform one or more operations as part of said distributed transaction;
wherein the participant resides on a second shared-nothing node of said shared-nothing database system; and
on the second shared-nothing node of said shared-nothing database system, causing the participant to determine the status of said distributed transaction by reading the information from the persistent storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for handling distributed transactions in shared-nothing database systems where one or more of the nodes have access to a shared persistent storage. Rather than coordinate the distributed transaction using a two-phase commit protocol, the coordinator of the distributed transaction uses a one-phase commit protocol with those participants that have access to the transaction status information maintained by the coordinator. The transaction status information may reside, for example, in the redo log of the coordinator. In the case that the coordinator fails, those participants can determine the state of the distributed transaction based on information stored on the shared disk. In addition, the coordinator is able to determine whether it is possible to commit the distributed transaction based on information that is stored on the shared disk by the participants, without those participants entering a formal “prepared” state.
-
Citations
22 Claims
-
1. A method for performing a distributed transaction in a shared-nothing database system, the method comprising:
-
on a first shared-nothing node of said shared-nothing database system, causing a coordinator that is coordinating the distributed transaction to store information that indicates status of said distributed transaction on a persistent storage device;
wherein the persistent storage device is accessible to a participant that is to perform one or more operations as part of said distributed transaction;
wherein the participant resides on a second shared-nothing node of said shared-nothing database system; and
on the second shared-nothing node of said shared-nothing database system, causing the participant to determine the status of said distributed transaction by reading the information from the persistent storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for performing a distributed transaction in a shared-nothing database system, the method comprising:
-
assigning a participant to perform one or more operations as part of said distributed transaction;
wherein the participant resides on a first shared-nothing node of said shared-nothing system;
causing said participant to store, on a persistent storage device, status information that indicates changes made by the participant during performance of said one or more operations;
wherein the persistent storage device is accessible to a coordinator that is responsible for coordinating said distributed transaction;
wherein the coordinator resides on a second shared-nothing node of said shared-nothing database system;
on said second shared-nothing node of said shared-nothing database system, causing said coordinator to determine, based on the status information on said persistent storage device, whether the participant has written to persistent storage changes produced by performance of the one or more operations; and
the coordinator process determining whether the distributed transaction can be committed based, at least in part, on whether the participant has written to persistent storage changes produced by performance of the one or more operations. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification