Automated optimal workload balancing during failover in share-nothing database systems
First Claim
1. A method comprising:
- calculating a first device assessment for a first computing device, whereinthe first device assessment is based at least in part on a first plurality of data portion assessments, andeach data portion assessment in the first plurality of data portion assessments comprises a weighted data quantity based at least in part on a product of;
a quantity of data stored in a respective data portion accessible by the first computing device, anda weighting factor based at least in part on a type of data stored in the respective data portion accessible by the first computing device;
calculating a second device assessment for a second computing device, whereinthe second computing device is distinct from the first computing device,the second device assessment comprises a weighted data quantity based at least in part on a second plurality of data portion assessments, andeach data portion assessment in the second plurality of data portion assessments is based at least in part on a product of;
a quantity of data stored in a respective data portion accessible by the second computing device, anda weighting factor based at least in part on a type of data stored in the respective data portion accessible by the second computing device;
calculating a first task assessment for a first collection of data portions, whereinthe first task assessment is based at least in part on a third plurality of data portion assessments, andeach data portion assessment in the third plurality of data portion assessments is based at least in part ona quantity of data stored in a respective data portion among the first collection of data portions, anda weighting factor based at least in part on a type of data stored in the respective data portion among the first collection of data portions;
calculating a second task assessment for a second collection of data portions, whereinthe second collection of data portions is distinct from the first collection of data portions,the second task assessment is based at least in part on a fourth plurality of data portion assessments, andeach data portion assessment in the fourth plurality of data portion assessments is based at least in part ona quantity of data stored in a respective data portion among the second collection of data portions, anda weighting factor based at least in part on a type of data stored in the respective data portion among the second collection of data portions;
selecting a target task, wherein the selecting the target task comprises comparing, using a processor, the first task assessment to the second task assessment;
selecting a target device, wherein the selecting the target device comprises comparing the first device assessment to the second device assessment; and
assigning the target task to be performed by the target device.
8 Assignments
0 Petitions
Accused Products
Abstract
Procedures and systems may be used for assigning data partitions to data-processing host computers, for example, to initially assign data partitions at the outset of a large data-processing job or during failover measures taken in response to a failed host in a share-nothing database management system (SN-DBMS). In one implementation, a method of managing exclusive access to a data partition within a database system assesses a first host and a second host that have exclusive access to a first and second data partition, respectively, within a database system. The method assigns exclusive access of the data partition to one of the first and second hosts based on factors that may include the processing powers of first and second the hosts, and on processing requirements (such as data quantity and data criticalness) for data on the first and second data partitions.
-
Citations
16 Claims
-
1. A method comprising:
-
calculating a first device assessment for a first computing device, wherein the first device assessment is based at least in part on a first plurality of data portion assessments, and each data portion assessment in the first plurality of data portion assessments comprises a weighted data quantity based at least in part on a product of; a quantity of data stored in a respective data portion accessible by the first computing device, and a weighting factor based at least in part on a type of data stored in the respective data portion accessible by the first computing device; calculating a second device assessment for a second computing device, wherein the second computing device is distinct from the first computing device, the second device assessment comprises a weighted data quantity based at least in part on a second plurality of data portion assessments, and each data portion assessment in the second plurality of data portion assessments is based at least in part on a product of; a quantity of data stored in a respective data portion accessible by the second computing device, and a weighting factor based at least in part on a type of data stored in the respective data portion accessible by the second computing device; calculating a first task assessment for a first collection of data portions, wherein the first task assessment is based at least in part on a third plurality of data portion assessments, and each data portion assessment in the third plurality of data portion assessments is based at least in part on a quantity of data stored in a respective data portion among the first collection of data portions, and a weighting factor based at least in part on a type of data stored in the respective data portion among the first collection of data portions; calculating a second task assessment for a second collection of data portions, wherein the second collection of data portions is distinct from the first collection of data portions, the second task assessment is based at least in part on a fourth plurality of data portion assessments, and each data portion assessment in the fourth plurality of data portion assessments is based at least in part on a quantity of data stored in a respective data portion among the second collection of data portions, and a weighting factor based at least in part on a type of data stored in the respective data portion among the second collection of data portions; selecting a target task, wherein the selecting the target task comprises comparing, using a processor, the first task assessment to the second task assessment; selecting a target device, wherein the selecting the target device comprises comparing the first device assessment to the second device assessment; and assigning the target task to be performed by the target device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
calculating a first value and a second value, wherein a first host has exclusive access to a first data partition, a second host has exclusive access to a second data partition, the first value is a first normalized work load (NWL), the first value is based at least in part on a first processing resource (PR) metric of the first host, and a first partition-weighted data quantity (PWDQ) for a first quantity of data on the first data partition, wherein the first PWDQ depends at least in part on a product of; a size of the first quantity of data, and a weighting factor based at least in part on an access characteristic of the first quantity of data, and the second value is a second NWL, the second value is based at least in part on a second PR metric of the second host, and a second PWDQ for a second quantity of data on the second data partition, and the first and second NWLs are calculated according to the following formulas;
PWDQ(j)=Σ
iWDQ(i,j); and
WDQ(i,j)=W(i,j)×
DQ(i,j), whereink is an index for the first and second hosts, j is an index for data partitions assigned to a host, i is an index for categories of information on a partition, NWL(k) represents the NWL of a kth host, PWDQ(j) represents a PWDQ for a jth partition of data, PR(k) represents the PR of the kth host, WDQ(i, j) represents a weighted data quantity of an ith category of information on a jth partition of data, W(i, j) represents a weighting factor of an ith category of information on a jth partition of data, and DQ(i, j) represents a quantity of data in an ith category of information on a jth partition of data; comparing the first and second values, wherein the comparing is performed by a processor; and assigning, in response to the comparing, exclusive access of a third data partition to one of the first and second hosts.
-
-
14. A system comprising:
-
a data server coupled to a first host and to a second host and comprising a first data partition assigned to the first host, a second data partition assigned to the second host, a third data partition, and a fourth data partition; a selection module coupled to the data server and configured to select the third data partition or the fourth data partition, a processor coupled to the data server and configured to assign exclusive access of the selected data partition to one of the first and second hosts based at least in part on a first processing power of the first host, a second processing power of the second host, a first processing requirement for a first quantity of data on the first data partition, wherein the first processing requirement depends at least in part on a product of; a size of the first quantity of data, and a weighting factor based at least in part on an access characteristic that depends on a type of data of the first quantity of data; a second processing requirement for a second quantity of data on the second data partition, wherein the second processing requirement depends at least in part on a product of; a size of the second quantity of data, and a weighting factor based at least in part on an access characteristic that depends on a type of data of the second quantity of data; wherein the selection module is configured to select the third data partition or the fourth data partition based at least in part on a third processing requirement for a third quantity of data on the third data partition, wherein the third processing requirement depends at least in part on a product of; a size of the third quantity of data, and a weighting factor based at least in part on an access characteristic that depends on a type of data of the third quantity of data, and a fourth processing requirement for a fourth quantity of data on the fourth data partition, wherein the fourth processing requirement depends at least in part on a product of; a size of the fourth quantity of data, and a weighting factor based at least in part on an access characteristic that depends on a type of data of the fourth quantity of data. - View Dependent Claims (15, 16)
-
Specification