Computer system, data allocation management method, and program
First Claim
1. A computer system, comprising:
- a plurality of computers coupled to one another via a network, for executing a service by using a database constructed of a plurality of storage apparatuses included in the computers, each of the computers including;
a processor;
one of the storage apparatuses coupled to the processor; and
a network interface coupled to the processor and configured to communicate with the other computers via the network,wherein, in each of the computers, the storage apparatus stores instructions that, when executed by the processor, causes the processor to;
store performance management information for managing respective performances of the computers, the performance management information including a plurality of storage capacities of the respective storage apparatuses included in each of the computers,manage a plurality of pieces of data formed of a key and a data value in the database,wherein each of the computers is allocated;
a plurality of pieces of master data which are respectively managed based on a distributed algorithm for determining a management range indicating a range of the keys allocated thereto, anda plurality of pieces of replicated data corresponding to the pieces of master data managed by the other computers, andwherein, in each of the computers, the storage apparatus further stores instructions that, when executed by the processor, causes the processor to;
obtain information on the performance from the each of the computers and update the performance management information based on the obtained information,determine, based on comparing the storage capacities of the respective storage apparatuses included in the performance management information, the management range of the plurality of pieces of master data managed by each of the computers and a plurality of sub-computers, from among the computers, configured to store the pieces of replicated data corresponding to the pieces of master data managed by each of the computers,wherein the management range of each of the computers and the sub-computers is determined so that a difference between the storage capacity of the storage apparatus included in one of the computers and the storage capacity of the storage apparatus included in one of the sub-computers corresponding to the one of the computers becomes smaller.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system comprises a plurality of computers for executing a service by using databases constructed of storage areas included in the plurality of computers. Each of the plurality of computers is configured to hold performance management information for managing respective performances of the plurality of computers. The each of the plurality of computers is allocated master data and replicated data of the master data managed by one of the plurality of computers other than the each of the plurality of computers. The computer system comprises a performance information management part configured to update the performance management information; and a cluster configuration management part configured to determine, based on the performance management information, the management range of the master data managed by a computer and a sub-computers configured to hold the replicated data of the master data managed by the computer.
-
Citations
18 Claims
-
1. A computer system, comprising:
-
a plurality of computers coupled to one another via a network, for executing a service by using a database constructed of a plurality of storage apparatuses included in the computers, each of the computers including; a processor; one of the storage apparatuses coupled to the processor; and a network interface coupled to the processor and configured to communicate with the other computers via the network, wherein, in each of the computers, the storage apparatus stores instructions that, when executed by the processor, causes the processor to; store performance management information for managing respective performances of the computers, the performance management information including a plurality of storage capacities of the respective storage apparatuses included in each of the computers, manage a plurality of pieces of data formed of a key and a data value in the database, wherein each of the computers is allocated; a plurality of pieces of master data which are respectively managed based on a distributed algorithm for determining a management range indicating a range of the keys allocated thereto, and a plurality of pieces of replicated data corresponding to the pieces of master data managed by the other computers, and wherein, in each of the computers, the storage apparatus further stores instructions that, when executed by the processor, causes the processor to; obtain information on the performance from the each of the computers and update the performance management information based on the obtained information, determine, based on comparing the storage capacities of the respective storage apparatuses included in the performance management information, the management range of the plurality of pieces of master data managed by each of the computers and a plurality of sub-computers, from among the computers, configured to store the pieces of replicated data corresponding to the pieces of master data managed by each of the computers, wherein the management range of each of the computers and the sub-computers is determined so that a difference between the storage capacity of the storage apparatus included in one of the computers and the storage capacity of the storage apparatus included in one of the sub-computers corresponding to the one of the computers becomes smaller. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data allocation management method for a computer system including a plurality of computers coupled to one another via a network and being configured to execute a service by using a database constructed of a plurality of storage apparatuses included in the computers, the data allocation management method comprising:
-
storing performance management information for managing respective performances of the computers, the performance management information including a plurality of storage capacities of the respective storage apparatuses included in each of the computers; managing a plurality of pieces of data formed of a key and a data value in the database, each of the computers being allocated a plurality of pieces of master data based on a distributed algorithm for determining a management range indicating a range of the keys allocated to each of the computers, and a plurality of pieces of replicated data corresponding to the pieces of master data managed by the other computers; obtaining, by each of the computers, information on the performance from each of the computers and updating the performance management information based on the obtained information; and determining, by each of the computers, based on comparing the storage capacities of the respective storage apparatuses included in the performance management information, the management range of the plurality of pieces of master data managed by each of the computers and a plurality of sub-computers, from among the computers, configured to store the pieces of replicated data corresponding to the pieces of master data managed by each of the computers, wherein the management range of each of the computers and the sub-computers is determined so that a difference between the storage capacity of the storage apparatus included in one of the computers and the storage capacity of the storage apparatus included in one of the sub-computers corresponding to the one of the computers becomes smaller. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more non-transitory computer readable media with an executable program stored thereon, where the executable program causes each of a plurality of computers included in a computer system to execute a data allocation management method,
the computer system including the plurality of computers coupled to one another via a network and being configured to execute a service by using a database constructed of a plurality of storage apparatuses included in the computers, each of the computers including: -
a processor; a storage apparatus coupled to the processor; and a network interface configured to communicate to and from the plurality of computers other than the each of the plurality of computers via the network, the data allocation method comprising; storing performance management information for managing respective performances of the computers, the performance management information including a plurality of storage capacities of the respective storage apparatuses included in each of the computers; managing a plurality of pieces of data formed of a key and a data value in the database, each of the computers being allocated a plurality of pieces of master data based on a distributed algorithm for determining a management range indicating a range of the keys allocated to each of the computers, and a plurality of pieces of replicated data corresponding to the pieces of master data managed by the other computers; obtaining, by each of the computers, information on the performance from each of the computers and updating the performance management information based on the obtained information; and determining, by each of the computers, based on comparing the storage capacities of the respective storage apparatuses included in the performance management information, the management range of the plurality of pieces of master data managed by each of the computers and a plurality of sub-computers, from among the computers, configured to store the pieces of replicated data corresponding to the pieces of master data managed by each of the computers, wherein the management range of each of the computers and the sub-computers is determined so that a difference between the storage capacity of the storage apparatus included in one of the computers and the storage capacity of the storage apparatus included in one of the sub-computers corresponding to the one of the computers becomes smaller. - View Dependent Claims (14, 15, 16, 17, 18)
calculating a combination of one of the computers and one of the sub-computers such that a difference in the storage capacity of the memory of the one of the computers and the storage capacity of the memory of the one of the sub-computers becomes smaller; setting the sub-computers for the each of the computers based on the calculated combination of the one of the computers and the one of the sub-computers; determining an assigned width of the management range for each of the computers based on the calculated combination of the one of the computers and the one of the sub-computers; and applying the distributed algorithm based on the determined assigned width of the management range to thereby determine the management range of each of the computers.
-
-
15. The one or more non-transitory computer readable media according to claim 14, the data allocation management method further comprising:
-
storing, by each of the computers, index information designating a processing performance of the database; referring to the index information to determine whether or not an access performance of the database is required; and when it is determined that the access performance of the database is required, calculating the combination of the one of the computers and the one of the sub-computers such that the storage capacity of the memory included in the one of the computers is equal to or larger than the storage capacity of the memory included in the one of the sub-computers corresponding to the one of the computers and such that the difference in the storage capacity of the memory of the one of the computers and the storage capacity of the memory of the one of the sub-computers becomes smaller; and determining the assigned width of the management range of each of the computers based on the storage capacity of the memory in each of the computers.
-
-
16. The one or more non-transitory computer readable media according to claim 14, the data allocation management method further comprising:
-
storing, by each of the computers, index information designating a processing performance of the database; referring to the index information to determine whether or not an access performance of the database and a usage efficiency of the storage capacity of the database are required; and when it is determined that the access performance of the database and the usage efficiency of the storage capacity of the database are required, calculating the combination of the one of the computers and the one of the sub-computers such that differences among the storage capacity of the memory included in the one of the computers that manages the plurality of pieces of master data corresponding to the plurality of pieces of replicated data held by the one of the computers, the storage capacity of the memory of the one of the computers, and the storage capacity of the memory of the one of the sub-computers corresponding to the one of the computers become smaller; and determining the assigned width of the management range of each of the computers based on the storage capacity of the memory in each of the computers.
-
-
17. The one or more non-transitory computer readable media according to claim 13, the data allocation management method further comprising:
-
displaying an entry screen for entering the index information; and obtaining the index information based on an operation performed through the entry screen.
-
-
18. The one or more non-transitory computer readable media according to claim 13, the data allocation management method further comprising:
generating display information for displaying a difference in performance between each of the computers and each of the sub-computers corresponding to each of the computers and an assigned width of the management range of each of the computers.
Specification