Patent ID: 8280910
Filing Date: 2012-10-02
Classification: G06F

Abstract:
1. A database server including a plurality of processors capable of being added, having information stored in a memory provided in each of the plurality of processors in a distributed manner, and capable of retrieving and relocating the distributed information, each of the plurality of processors being a given processor and comprising: an information storage section to store a different record in each processor based on a given hash value of a plurality of hash values, one record being formed by key information, the given hash value of the key information, and data which are associated with each other; a first processor information storage section to store current association between each of the plurality of hash values currently stored in the information storage sections provided in all of the plurality of processors and processor identification information identifying the given processor having the information storage section in which the given hash value is currently stored; a second processor information storage section to store new association between each of the plurality of hash values to be newly stored in the information storing sections provided in all of the plurality of processors including an added processor and processor identification information identifying the given processor having the information storing section in which the given hash value is to be newly stored; a retrieving unit to execute a retrieval process upon receipt of the key information as a condition for retrieval from outside, the retrieval process comprising the steps of calculating the given hash value from the key information, acquiring the processor identification information associated with the given hash value from the first processor information storage section, and acquiring data associated with the given hash value when the given hash value is stored in the information storing section of the given processor identified by the processor identification information; and a storage control section to exercise control to relocate the record therein by referring to the second processor information storage section to acquire the given hash value stored in association with the processor identification information identifying the given processor itself, acquiring the processor identification information stored in association with the given hash value acquired from the first processor information storage section, acquiring the record having the given hash value from the acquired information storage section of the given processor identified by the processor identification information, and storing the acquired record in the information storing section of the given processor itself; wherein the retrieving unit executes the retrieval process with using at least the first processor information storage section until the storage control section completes relocation of the record among the plurality of processors with using the first processor information storage section and the second processor information storage section after the added processor is added; wherein the plurality of processors serve as a master processor and remaining slave processors, respectively; the master processor inserts new association between each of the plurality of hash values to be newly stored in the plurality of information storing sections provided in all of the plurality of processors including the added processor and processor identification information identifying the given processor having the information storing section in which the given hash value is to be newly stored, as update information to be stored in the second processor information storage section of each of the slave processors; the second processor information storage section of each of the slave processors stores the inserted update information when the update information is inserted from the master processor; and when the storage of the inserted update information in the second processor information storage section is completed, the storage control section of each of the slave processors starts relocating records from the information storing sections of other processors to the given processor itself based on the processor identification information stored in the second processor information storage section.