System and method for managing transactions for multiple data store nodes without a central log
AssigneeVMware, Inc.
InventorsWenguang Wang, Abhishek Gupta, Kapil Chowksey, Richard P. Spillane, Rob Johnson
Life of this patent
Estimating the term…
Abstract
Data storage system and method for managing transaction requests in the data storage system utilizes prepare requests for a transaction request for multiple data storage operations. The prepare requests are sent to selected destination storage nodes of the data storage system to handle the multiple data storage operations. Each prepare request includes at least one of the multiple data storage operations to be handled by a particular destination data store node and a list of the destination storage nodes involved in the transaction request.
Claims18
A method for managing transaction requests in a data storage system with multiple data store nodes, the method comprising:
- receiving a transaction request for multiple data storage operations at a central database management module of the data storage system;
- selecting destination data store nodes of the data storage system to distribute the multiple data storage operations of the transaction request;
- sending prepare requests to the destination data store nodes from the central database management module, each prepare request to a particular destination data store node including at least one of the multiple data storage operations to be handled by the particular destination data store node and a list of the destination data store nodes involved in the transaction request;
- receiving reply messages to the prepare requests at the central database management module from the destination data store nodes to confirm that the destination data store nodes will handle the multiple data storage operations of the transaction request;
- and
- after a failure, executing a recovery operation using write ahead logs of the selected destination data store nodes to determine whether data storage operations indicated in the write ahead logs should be committed or aborted, including, for a particular transaction request, using a list of the selected destination data store nodes involved in the particular transaction request that is included in a corresponding prepare request to check whether data storage operations of the particular transaction request should be committed or aborted.
A non-transitory computer-readable storage medium containing program instructions for managing transaction requests in a data storage system, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform steps comprising:
- receiving a transaction request for multiple data storage operations at a central database management module of the data storage system;
- selecting destination data store nodes of the data storage system to distribute the multiple data storage operations of the transaction request;
- sending prepare requests to the destination data store nodes from the central database management module, each prepare request to a particular destination data store node including at least one of the multiple data storage operations to be handled by the particular destination data store node and a list of the destination data store nodes involved in the transaction request;
- receiving reply messages to the prepare requests at the central database management module from the destination data store nodes to confirm that the destination data store nodes will handle the multiple data storage operations of the transaction request;
- and
- after a failure, executing a recovery operation using write ahead logs of the selected destination data store nodes to determine whether data storage operations indicated in the write ahead logs should be committed or aborted, including, for a particular transaction request, using a list of the selected destination data store nodes involved in the particular transaction request that is included in a corresponding prepare request to check whether data storage operations of the particular transaction request should be committed or aborted.
A data storage system comprising:
- memory;
- and
- a processor configured to:
- receive a transaction request for multiple data storage operations at a central database management module;
- select destination data store nodes to distribute the multiple data storage operations of the transaction request;
- send prepare requests to the destination data store nodes from the central database management module, each prepare request to a particular destination data store node including at least one of the multiple data storage operations to be handled by the particular destination data store node and a list of the destination data store nodes involved in the transaction request;
- receive reply messages to the prepare requests at the central database management module from the destination data store nodes to confirm that the destination data store nodes will handle the multiple data storage operations of the transaction request;
- and
- after a failure, execute a recovery operation using write ahead logs of the selected destination data store nodes to determine whether data storage operations indicated in the write ahead logs should be committed or aborted, including, for a particular transaction request, using a list of the selected destination data store nodes involved in the particular transaction request that is included in a corresponding prepare request to check whether data storage operations of the particular transaction request should be committed or aborted.
Dependencies are inferred from the claim text.