Workload balancing in a distributed database
First Claim
1. A distributed database management system for transaction processing comprising:
- two or more query processors with a common data source;
at least one database client for managing a transaction including two or more queries;
a transaction analyzer for checking if a transaction can be processed by more than one query processor, wherein the transaction analyzer is configured for determining that a tag indicating that the transaction is distributable is associated with the transaction, and for determining that a tag indicating that the transaction is a long running or a short running transaction;
a query processor optimizer for locating the optimum query processor for each query in the transaction based on workload of each query processor;
a workload balancer for directing each query to the new optimum query processor if the transaction can be processed by more than one query processor; and
further comprising a lock mechanism for locking portions of the common data source at a query level to a new query processor, wherein the lock mechanism can be transferred to the new query processor when a transaction is transferred to a new query processor and using existing global lock and cache data, and the transaction is transferred as a whole.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed database management system balances the load on query boundaries and to achieve a more evenly balanced load. The system includes two or more query processors with a common data source. A database client manages a transaction including two or more queries. A transaction analyzer checks if a transaction can be processed by more than one query processor. A query processor optimizer locates the optimum query processor for each query in the transaction based on workload of each query processor, while a workload balancer directs each query to the optimum query processor if the transaction can be processed by more than one query processor. This approach is particularly well suited to a clustered database environment that includes query processor nodes that work off a shared disk to provide database access to clients that connect to the node.
-
Citations
16 Claims
-
1. A distributed database management system for transaction processing comprising:
-
two or more query processors with a common data source; at least one database client for managing a transaction including two or more queries; a transaction analyzer for checking if a transaction can be processed by more than one query processor, wherein the transaction analyzer is configured for determining that a tag indicating that the transaction is distributable is associated with the transaction, and for determining that a tag indicating that the transaction is a long running or a short running transaction; a query processor optimizer for locating the optimum query processor for each query in the transaction based on workload of each query processor; a workload balancer for directing each query to the new optimum query processor if the transaction can be processed by more than one query processor; and further comprising a lock mechanism for locking portions of the common data source at a query level to a new query processor, wherein the lock mechanism can be transferred to the new query processor when a transaction is transferred to a new query processor and using existing global lock and cache data, and the transaction is transferred as a whole. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for transaction processing in a distributed database management system comprising two or more query processors with a common data source and at least one database client for managing a transaction including two or more queries, said method comprising:
-
checking if a transaction can be processed by more than one query processor, wherein a tag indicating that the transaction is distributable is associated with the transaction, and a tag indicating that the transaction is a long running or a short running transaction is associated with the transaction; locating the optimum query processor for each query in the transaction based on workload of each query processor; directing each query to the new optimum query processor if the transaction can be processed by more than one query processor; and locking portions of the common data source, via a locking mechanism, at a query level to a new query processor, wherein the lock mechanism can be transferred to the new query processor when a transaction is transferred to a new query processor and using existing global lock and cache data, and the transaction is transferred as a whole. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A computer program product for transaction processing in a distributed database management system, the computer program product comprising a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code configured to perform:
-
checking if a transaction can be processed by more than one query processor, wherein a tag indicating that the transaction is distributable is associated with the transaction, and a tag indicating that the transaction is a long running or a short running transaction is associated with the transaction; locating the optimum query processor for each query in the transaction based on workload of each query processor; directing each query to the new optimum query processor if the transaction can be processed by more than one query processor; and locking portions of the common data source, via a locking mechanism, at a query level to a new query processor, wherein the lock mechanism can be transferred to the new query processor when a transaction is transferred to a new query processor and using existing global lock and cache data, and the transaction is transferred as a whole. - View Dependent Claims (14, 15, 16)
-
Specification