Parallel Execution In A Transaction Using Independent Queries
First Claim
1. A method of executing a database transaction in parallel using subtransactions, comprising:
- receiving a transaction at an application, wherein the transaction has a first statement and a second statement;
determining whether operation of the first statement is independent from operation of the second statement;
when it is determined that operation of the first statement is independent from operation of the second statement, assigning the first statement to a first subtransaction and the second statement to a second subtransaction, wherein the first and second subtransactions are part of a transaction group;
performing coordinated execution of the transaction group using resources of a database; and
when coordinated execution of all of the subtransactions of the transaction group has successfully completed, the subtransactions are committed.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments include a method, apparatus and computer program product for executing a database transaction in parallel using subtransactions. The method includes receiving a transaction at an application, the transaction having a first statement and a second statement, and determining whether operation of the first statement is independent from operation of the second statement. When it is determined that operation of the first statement is independent from operation of the second statement, assigning the first statement to a first subtransaction and the second statement to a second subtransaction, the first and second subtransactions being part of a transaction group. The method further includes executing the subtransactions using resources of the database. Finally, when execution of all of the subtransactions have successfully completed, committing all of the subtransactions.
-
Citations
22 Claims
-
1. A method of executing a database transaction in parallel using subtransactions, comprising:
-
receiving a transaction at an application, wherein the transaction has a first statement and a second statement; determining whether operation of the first statement is independent from operation of the second statement; when it is determined that operation of the first statement is independent from operation of the second statement, assigning the first statement to a first subtransaction and the second statement to a second subtransaction, wherein the first and second subtransactions are part of a transaction group; performing coordinated execution of the transaction group using resources of a database; and when coordinated execution of all of the subtransactions of the transaction group has successfully completed, the subtransactions are committed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An application configured to parallel execute a database transaction using subtransactions, comprising:
-
a transaction receiver configured to receive a database transaction having a first statement and a second statement; an independence determiner configured to determine whether operation of the first statement is independent from operation of the second statement; a subtransaction creator configured to, when it is determined that operation of the first statement is independent from operation of the second statement, assign the first statement to a first subtransaction and the second statement to a second subtransaction, wherein the first and second subtransactions are part of a transaction group; and a database engine configured to; parallel execute the subtransactions, and when execution of all of the subtransactions have successfully completed, commit all of the subtransactions. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer-readable medium having computer-executable instructions stored thereon that, when executed by a computing device, cause the computing device to perform a method of executing a database transaction in parallel using subtransactions, the instructions comprising:
-
receiving a transaction at an application, wherein the transaction has a first statement and a second statement; determining whether operation of the first statement is independent from operation of the second statement; when it is determined that operation of the first statement is independent from operation of the second statement, assigning the first statement to a first subtransaction and the second statement to a second subtransaction, wherein the first and second subtransactions are part of a transaction group; performing coordinated execution of the transaction group using resources of a database; and when coordinated execution of all of the subtransactions of the transaction group has successfully completed, the subtransactions are committed.
-
Specification