System and method for assuring atomicity of distributed update requests in a parallel database
AssigneeInternational Business Machines Corporation
InventorsDaniel J. Coyle, Jr., Amy Chang, Timothy R. Malkemus, Walter G. Wilson
Life of this patent
Estimating the term…
Abstract
In parallel database management systems, database update requests typically result in activity at several nodes. Rollback of all updates is required if the update of any node fails. A coordination process monitors for failure or success of updates. The coordinator further provides for distinguishing activities that have taken place at any given node from the other nodes for different database update requests. Savepoints are local. This allows rollback of a selected update without affecting nodes which did not process the update.
Claims17
A method of managing distributed requests on a parallel database management system wherein each distributed request comprises a plurality of request instances which may span a plurality of subordinate processes, comprising:
- distributing a plurality of request instances for a selected request to a plurality of subordinate processes, each request instance including associated request savepoint data;
- responsive to receipt of a request instance on a selected subordinate process, updating a local savepoint with the associated request savepoint data and locally generated savepoint data;
- executing the request instance for each selected subordinate process;
- indicating to a coordination process success or failure of execution on each request instance;
- and
- responsive to indication of failure of execution for any request instance of the selected request, performing a rollback on each subordinate process which the local savepoint indicates executed a request instance for the selected request.
A parallel database management system for managing distributed requests which each comprise a plurality of request instances which may span a plurality of subordinate processes, comprising:
- a network having a plurality of computers;
- a database distributed among partitions on the plurality of computers;
- a plurality of subordinate processes resident on the plurality of computers for generating local savepoints for the partitions, for executing a request instance and for signalling over the network failure or success of execution;
- a coordinator resident on a computer for receiving requests from applications wherein each request comprises a plurality of request instances, for distributing request instances and request savepoint data relating to the request to selected subordinate processes and for issuing a rollback request with a reference for comparison to the local savepoints upon receipt of a signal indicating failure of execution by a subordinate process;
- memory for each of the plurality of computers for storing the local savepoints between the requests;
- and
- the subordinate processes being responsive to the reference of the matching the local savepoints for executing a rollback.
A data processing program product for assuring atomicity of distributed update requests on a parallel database management system wherein each distributed update request comprises a plurality of request instances which may span a plurality of subordinate processes, said data processing program product comprising media storing:
- instruction means for distributing a plurality of request instances for a selected request to a plurality of subordinate processes, each request instance including associated request savepoint data;
- instruction means responsive to receipt of a request instance on a selected subordinate process for updating a local savepoint with the request savepoint data associated and locally generated savepoint data;
- instruction means for executing the request instance for each selected subordinate process;
- instruction means for indicating to a coordination process success or failure of execution on each request instance;
- and
- instruction means responsive to indication of failure of execution for any request instance of the selected request for performing a rollback on each subordinate process which the local savepoint indicates executed a request instance for the selected request.
Dependencies are inferred from the claim text.