摘要 |
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. |
主权项 |
1. A method comprising:
detecting failure of a failed host of a plurality of hosts, wherein
the failed host is assigned exclusive access to a first subset of partitions of a plurality of partitions, andthe first subset of partitions comprises a first unassigned partition and a second unassigned partition, after failure; selecting a reassignment operation of a plurality of available reassignment operations, wherein
the plurality of available reassignment operations comprises an optimistic reassignment operation and an exhaustive reassignment operation, andthe optimistic reassignment operation comprises
reassigning the first subset of partitions of the plurality of partitions to the plurality of hosts; and
persisting existing assignments of a second subset of partitions of the plurality of partitions among the plurality of hosts; and performing the reassignment operation, wherein
the selecting and the performing are performed in response to the detecting, andthe reassignment operation comprisescalculating a first value associated with a first host of the plurality of hosts, wherein
the first host has exclusive access to a first data partition,the first value is based at least in part on
a first processing power of the first host, anda 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 of the first quantity of data, andcalculating a second value associated with a second host of the plurality of hosts, wherein
the second value is based at least in part on
a second processing power of a second host;comparing the first and second values, wherein the comparing is performed by a processor;calculating a third value associated with the first unassigned partition, wherein
the third value depends at least in part on a product of:
a size of a quantity of data in the first unassigned partition, anda weighting factor based at least in part on an access characteristic of the data in the first unassigned partition, andcalculating a fourth value associated with the second unassigned partition, wherein
the fourth value depends at least in part on a product of:
a size of a quantity of data in the second unassigned partition, anda weighting factor based at least in part on an access characteristic of the data in the second unassigned partition,comparing the third and fourth values, wherein the comparing is performed by the processor; andassigning, in response to the comparing the first and second values and the comparing the third and fourth values, exclusive access of one of the first unassigned partition and the second unassigned partition to one of the first and second hosts. |