WO2015166741A1 - In-memory management system and in-memory management program - Google Patents

In-memory management system and in-memory management program Download PDF

Info

Publication number
WO2015166741A1
WO2015166741A1 PCT/JP2015/058198 JP2015058198W WO2015166741A1 WO 2015166741 A1 WO2015166741 A1 WO 2015166741A1 JP 2015058198 W JP2015058198 W JP 2015058198W WO 2015166741 A1 WO2015166741 A1 WO 2015166741A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
data
memories
redundancy
unit
Prior art date
Application number
PCT/JP2015/058198
Other languages
French (fr)
Japanese (ja)
Inventor
甲 島澤
江輔 吉原
高橋 慶
Original Assignee
ウイングアーク1st株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ウイングアーク1st株式会社 filed Critical ウイングアーク1st株式会社
Publication of WO2015166741A1 publication Critical patent/WO2015166741A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Definitions

  • the present invention relates to an in-memory management system and an in-memory management program, and is particularly suitable for use in an in-memory management system that constructs an in-memory database by storing data to be processed in a plurality of memories. .
  • In-memory technology is a method in which all data to be used is stored in a memory, and processing is executed without using an external storage device such as a hard disk.
  • the memory has a data read / write speed that is about 100,000 times faster than a hard disk. Therefore, if an in-memory technology that does not exchange data with the hard disk is used, data can be read and written at high speed, and processing can be performed at very high speed. As a result, it is possible to perform real-time processing such as shortening data processing, which conventionally takes several hours, to several minutes, or processing generated data instantaneously and returning results.
  • the main application is database operations, but it is attracting attention as an effective technology for companies to quickly extract and analyze useful information from so-called big data.
  • In-memory technology includes a method of using a hard disk for backup purposes, and a cluster method of copying data between memories provided in a plurality of nodes (see, for example, Patent Document 1).
  • the information processing system described in Patent Document 1 includes a plurality of server devices equipped with an in-memory database, and stores the same processing target data in each in-memory database of each server device.
  • the processing target data is divided into three data groups, the master data of each data group is distributed and stored in three server devices, and the slave data corresponding to the master data is stored in the same data group.
  • the server device performs the requested processing on the master data when the master data of the processing target data that has received the processing request is stored in the own device, and converts the processed master data to the master data Copy processing is performed on slave data stored in another server device that is a replica.
  • the memory is still an expensive storage medium compared to an external storage device such as a hard disk, although the bit unit price has been lower than before. Therefore, it is not preferable to reduce the memory usage efficiency.
  • data redundancy (having three data including copies) is maintained, but at least one server device is powered off.
  • the planned redundancy is lost until the power is turned on again.
  • a personal computer that is frequently switched on / off is used as a server device, if two of the three personal computers are powered off due to shutdown, the redundancy is completely lost. At this time, if a failure occurs in the remaining one personal computer and data is lost from the memory, there arises a problem that the data cannot be restored.
  • the present invention has been made to solve such problems, and by using a plurality of memories optimally according to the situation, it is possible to operate highly flexible in-memory computing.
  • the purpose is to do so.
  • a redundancy number setting unit that sets a redundancy number that is the number of memories that store the same data, and a redundancy that is set by the redundancy number setting unit from a plurality of memories
  • a memory selection unit that selects a number of memories according to a predetermined selection criterion; and a storage control unit that controls the same data to be copied and stored in the memory selected by the memory selection unit.
  • a redundancy loss detection unit that monitors the operation status of the memory selected by the memory selection unit and detects that the redundancy satisfying the redundancy number set by the redundancy number setting unit has been lost. And when the redundancy loss detection unit detects that the redundancy is lost, reselects the number of memories less than the redundancy number set by the redundancy number setting unit according to a predetermined selection criterion, The same data is duplicated and stored in the reselected memory.
  • a distribution number setting unit for setting a distribution number which is the number of memories in which one data is divided and stored in a plurality, is further provided, and the redundancy number setting unit is set from the plurality of memories.
  • the selected number of redundant memories are selected for redundancy according to a predetermined selection criterion
  • the distributed number of memories set by the distribution number setting unit are selected for distribution according to a predetermined selection criterion.
  • the memory selected for decentralization stores each of a plurality of divided data generated by dividing one data into a plurality of data, and copies the same data as the plurality of divided data for redundancy. The same copied data is stored in the remaining memories in which the original divided data is not stored among the selected memories.
  • the distribution number setting unit sets the distribution number so that the turnaround time of the process executed on the divided data is within a predetermined time.
  • the present invention configured as described above, since the same data is stored only in the redundant number of memories set by the redundant number setting unit, the same data is stored in all of the plurality of memories. Compared with the conventional method, the memory usage can be reduced. At this time, the memory in which the data is stored is selected from a plurality of memories according to a predetermined selection criterion, and the selected memory dynamically changes according to the degree of matching with the selection criterion at that time.
  • the certain data when certain data is made redundant and stored in a memory, the certain data is copied and stored in a memory set selected according to a predetermined selection criterion from a plurality of memories according to the situation at that time. Is done. Thereafter, when another data is made redundant and stored in the memory, the other data is stored in another memory set selected according to a predetermined selection criterion from a plurality of memories according to the situation at that time. Duplicated and stored.
  • highly flexible in-memory computing can be performed, and the memory usage efficiency can be further increased while providing data redundancy.
  • a predetermined number of memories are selected from a plurality of memories according to the situation at that time.
  • a new memory is reselected according to the selection criteria, and the same data is duplicated and stored in the reselected memory, so that redundancy satisfying the redundancy number set by the redundancy number setting unit is always maintained.
  • one piece of data is divided and stored in a distributed number of memories set by the distributed number setting unit.
  • the number of data distributions is set so that the turnaround time of processing executed on the divided data is within a predetermined time. Therefore, the amount of data increases with the update of the divided data, the processing speed decreases accordingly, and when the turnaround time exceeds the predetermined time, the number of distribution is reset by the distribution number setting unit, Data is distributed and stored in the reset number of distributed memories.
  • FIG. 1 is a diagram illustrating a configuration example of an in-memory management system according to the first embodiment.
  • the in-memory management system according to the first embodiment includes a plurality of servers 10 ⁇ 1 , 10 ⁇ each having memories (main storage devices) 11 ⁇ 1 , 11 ⁇ 2 , 11 ⁇ 3.
  • a controller 20 that controls reading and writing of data to and from the plurality of memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 , a terminal 30 in which BI (Business Intelligence) software is installed, a database 40, It is configured with.
  • BI Business Intelligence
  • the database 40 is configured by an external storage device such as a hard disk.
  • the terminal 30 constructs an in-memory environment by storing all of data stored in the database 40 to be used for desired processing in the memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3. . Then, after constructing the in-memory environment, the terminal 30 executes a desired process using the data stored in the memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 without accessing the database 40.
  • the servers 10 ⁇ 1 , 10 ⁇ 2 , and 10 ⁇ 3 store the data read from the database 40 in the internal memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 .
  • the data stored in the memories 11 -1 , 11 -2 , 11 -3 is read out and used when a desired process is executed by the BI software of the terminal 30. Then, the data updated as a result of the processing is stored again in the memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 .
  • any one having a main storage device such as a personal computer or a tablet terminal may be used.
  • the same data is duplicated and stored in a plurality of memories by the replication function.
  • One of them is master data
  • the rest is slave data.
  • the terminal 30 executes processing on the master data read from the memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 through the controller 20. At this time, the controller 20 updates the processing result as master data and copies it to slave data.
  • FIG. 2 is a block diagram illustrating a functional configuration example provided in the controller 20 according to the first embodiment.
  • the controller 20 includes a redundancy number setting unit 21, a memory selection unit 22, a storage control unit 23, and a redundancy loss detection unit 24 as functional configurations.
  • FIG. 2 shows only the main functional configuration related to in-memory replication, and the functional configuration for executing a desired process and other functional configurations are not shown.
  • Each of the functional blocks 21 to 24 can be configured by hardware, DSP (Digital Signal Processor), or software.
  • DSP Digital Signal Processor
  • each of the functional blocks 21 to 24 is actually configured by including a CPU, RAM, ROM, and the like of a computer, and is stored in a recording medium such as RAM, ROM, hard disk, or semiconductor memory. Is realized by operating.
  • the redundancy number setting unit 21 sets a redundancy number (referred to as a replication factor RF) that is the number of memories that store the same data.
  • a redundancy number referred to as a replication factor RF
  • the number of servers 10 ⁇ 1 , 10 ⁇ 2 , and 10 ⁇ 3 connected to the controller 20 is three. That is, the number of memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 that can store data is three.
  • the redundancy number setting unit 21 sets a replication factor RF of “2” or “3” as the number of memories for storing the same data among the three memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3. Is possible.
  • the replication factor RF is set by a user operation through a setting screen provided by the BI software installed in the terminal 30, for example.
  • the memory selection unit 22 selects a redundant number of memories set as the replication factor RF by the redundant number setting unit 21 from the plurality of memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 according to a predetermined selection criterion. For example, the memory selection unit 22 selects the set number of redundant memories in order from the larger free space. For this purpose, the memory selection unit 22 accesses the plurality of servers 10 ⁇ 1 , 10 ⁇ 2 , and 10 ⁇ 3 to confirm the free capacity of the memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 , and as a result of the confirmation. Select memory according to.
  • the memory selection by the memory selection unit 22 is executed when data is first read from the database 40 and stored in any memory. Once a memory for storing data is selected, the data updated by execution of processing by the BI software of the terminal 30 is overwritten on the same memory. Therefore, it is not necessary to select a memory again at the timing of processing execution. However, if the selected memory becomes unusable after the server power is turned off, the memory selection unit 22 selects the memory again. Details of this will be described later.
  • the storage control unit 23 performs control so that the same data is duplicated and stored in the memory selected by the memory selection unit 22. That is, when data is first read from the database 40 and stored in any memory, the storage control unit 23 stores the same data in a plurality of memories selected by the memory selection unit 22. After that, among the same data stored in a plurality of memories, when the master data is updated by executing the processing of the BI software, the storage control unit 23 overwrites the updated master data in the same memory as before the update. Store. In addition, the storage control unit 23 duplicates the updated master data and overwrites and stores it in the memory in which the slave data is stored.
  • the redundancy loss detection unit 24 monitors the operation status of the memory selected by the memory selection unit 22 and detects that the redundancy satisfying the redundancy number set by the redundancy number setting unit 21 is lost. To do. For example, when the servers 10 ⁇ 1 , 10 ⁇ 2 , and 10 ⁇ 3 are turned off by a shutdown operation, or some failure occurs in the servers 10 ⁇ 1 , 10 ⁇ 2 , and 10 ⁇ 3 , the power is turned off or frozen. When this happens, the memories 11 -1 , 11 -21 , 11 -3 built in the servers 10 -1 , 10 -2 , 10 -3 become unusable. When the redundancy loss detection unit 24 detects that any of the memories selected by the memory selection unit 22 has become unusable, there is redundancy that satisfies the redundancy number set by the redundancy number setting unit 21. Judge that it was lost.
  • the memory selection unit 22 reselects the number of memories less than the redundancy number according to a predetermined selection criterion. For example, when the replication factor RF is set to “2”, two memories 11 ⁇ 1 and 11 ⁇ 2 are selected, and the same data is stored in the two memories 11 ⁇ 1 and 11 ⁇ 2 , either When the redundancy loss detecting unit 24 detects that one of the memories can no longer be used, the memory selecting unit 22 reselects the number of memories less than the redundant number (that is, one) according to a predetermined selection criterion. . In this case, the remaining one memory 11-3 is selected. When there are four or more memories connected to the controller 20, the memory selection unit 22 selects one of the memories with the largest free space at that time from the two memories 11 -1 and 11 -2 that were originally selected. Reselect memory.
  • the memory selection unit 22 needs to reset the master data.
  • the data stored in the remaining usable memory hereinafter referred to as “remaining memory”.
  • the data stored in the memory having the largest free space at that time among the memory newly selected by the remaining memory and the memory selection unit 22 may be set as the master data.
  • the storage control unit 23 performs control so that the same data is duplicated and stored in the memory reselected by the memory selection unit 22. That is, the storage control unit 23 duplicates the data stored in the remaining memory among the two memories 11 ⁇ 1 and 11 ⁇ 2 that were originally selected, and stores it in the newly selected memory.
  • the storage control unit 23 duplicates the data stored in the remaining memory among the two memories 11 ⁇ 1 and 11 ⁇ 2 that were originally selected, and stores it in the newly selected memory.
  • a plurality of memories 11 ⁇ are selected according to the situation at that time.
  • a new memory is reselected from 1 , 11 -2 , and 11 -3 , and the same data is duplicated and stored in the reselected memory.
  • redundancy satisfying the redundancy number set by the redundancy number setting unit 21 can always be maintained, and reliability by redundancy can be increased.
  • FIG. 3 is a diagram illustrating an example of a situation in which data is stored in the plurality of memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 when replication according to the first embodiment is executed.
  • the example of FIG. 3 shows an example of data storage when the replication factor RF is set to “2”.
  • the two memories 11 ⁇ 1 and 11 ⁇ 2 are selected in descending order of free capacity, and the same First data is stored.
  • the one shown with a thick frame is master data
  • the one shown with a thin frame is slave data.
  • the first data (master data) is updated by execution of processing by the BI software, the updated first data is stored in the same two memories 11 ⁇ 1 and 11 ⁇ 2 .
  • the two memories 11 -2 and 11 -3 are selected in descending order of free space at that time.
  • the same second data is stored.
  • the second data is updated by execution of processing by the BI software, the updated second data is stored in the same two memories 11 -2 and 11 -3 .
  • the memory in which the data is stored is selected from a plurality of memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 according to a predetermined selection criterion (in descending order of available capacity). The selected memory changes dynamically according to the degree of match.
  • the first data when the first data is made redundant and stored in the memory, it is selected according to the free capacity of each memory 11 -1 , 11 -2 , 11 -3 at that time.
  • the first data is duplicated and stored in the two memories 11 -1 and 11 -2 .
  • the second data is made redundant and stored in the memory, the two memories 11 -2 , 11 selected according to the free capacity of the respective memories 11 -1 , 11 -2 , 11 -3 at that time -3 , the second data is duplicated and stored.
  • in-memory computing with high flexibility is performed such that replication is performed by selecting an optimal memory according to the situation at each time, and data redundancy is achieved.
  • the memory usage efficiency can be further increased while having it.
  • the respective memories 11 ⁇ 1 , 11 ⁇ 2 when it is detected that the redundancy satisfying the redundancy number set by the redundancy number setting unit 21 is lost, the respective memories 11 ⁇ 1 , 11 ⁇ 2 , Since a new memory is reselected according to the free space of 11 ⁇ 3 and the same data is duplicated and stored in the reselected memory, the redundancy satisfying the redundancy number set by the redundancy number setting unit 21 Sex is always maintained. Thereby, it is possible to increase the reliability of redundancy while increasing the memory usage efficiency.
  • the present invention is not limited to this.
  • the redundant number of memories may be selected.
  • the redundant number of memories set by the redundant number setting unit 21 may be selected.
  • the example in which the replication factor RF is set with the number of servers 10 ⁇ 1 , 10 ⁇ 2 , and 10 ⁇ 3 connected to the controller 20 as the upper limit has been described.
  • a number of replication factors RF may be set. For example, when three servers 10 ⁇ 1 , 10 ⁇ 2 , and 10 ⁇ 3 are connected to the controller 20 as shown in FIG. 1, a replication factor RF of “4” or more may be set.
  • the controller 20 monitors the servers to be connected, and when only a smaller number of servers than the number of redundancy set by the redundancy number setting unit 21 are connected, the same is applied to all of the memories included in those servers. Control to store data. Each time the number of servers connected to the controller 20 increases, the number of servers storing the same data is dynamically increased up to the number of replication factors RF. In this way, it is possible to operate in-memory computing with higher flexibility.
  • FIG. 4 is a diagram illustrating a configuration example of the in-memory management system according to the second embodiment.
  • the in-memory management system according to the second embodiment includes a controller 20 ′ instead of the controller 20 shown in FIG.
  • FIG. 5 is a block diagram illustrating a functional configuration example provided in the controller 20 ′ according to the second embodiment.
  • the controller 20 ′ further includes a dispersion number setting unit 25 and a time measurement unit 26 as functional configurations.
  • a memory selection unit 22 'and a storage control unit 23' are provided instead of the memory selection unit 22 'and a storage control unit 23'. Note that FIG. 5 shows only main functional configurations related to in-memory replication and striping, and a functional configuration for executing desired processing and other functional configurations are not shown.
  • the functional blocks 21, 22 ', 23', and 24-26 can be configured by any of hardware, DSP, and software.
  • each of the functional blocks 21, 22 ′, 23 ′, and 24-26 is actually configured by including a CPU, RAM, ROM, etc. of a computer, such as RAM, ROM, hard disk, semiconductor memory, etc. This is realized by operating a program stored in the recording medium.
  • the distribution number setting unit 25 sets a distribution number (referred to as a striping factor SF), which is the number of memories in which one data is divided and stored.
  • the striping factor SF can be set by a user operation through a setting screen provided by BI software installed in the terminal 30, for example.
  • the distribution number setting unit 25 may automatically set the striping factor SF according to a predetermined criterion.
  • FIG. 5 shows an example in which the striping factor SF is automatically set according to information notified from the time measurement unit 26. Details of this will be described later.
  • the memory selection unit 22 ′ selects a redundant number of memories set by the redundant number setting unit 21 for redundancy according to a predetermined selection criterion from among the plurality of memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3. At the same time, the memory having the number of distributions set by the distribution number setting unit 25 is selected for distribution according to a predetermined selection criterion.
  • the predetermined selection criterion is the same as that in the first embodiment, and for example, selection is made in descending order of the available memory capacity.
  • the memory selection unit 22 ′ selects two memories for redundancy, and selects three memories. Select for decentralization.
  • the memory selected for redundancy and the memory selected for distribution may partially or entirely overlap.
  • the storage control unit 23 ′ controls the memory selected for distribution by the memory selection unit 22 ′ to store a plurality of divided data generated by dividing one data into a plurality of pieces. Further, the storage control unit 23 ′ duplicates the same data as the plurality of divided data, and the original divided data (master data) is not stored among the memories selected for redundancy by the memory selection unit 22 ′. Control is performed so that the same copied data is stored in each of the remaining memories.
  • FIG. 6 is a diagram illustrating an example of a situation in which data is stored in a plurality of memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 when replication and striping according to the second embodiment are executed. Also in FIG. 6, the data indicated by the thick frame is master data, and the data indicated by the thin frame is slave data.
  • FIG. 6A shows an example of data storage when the replication factor RF is set to “2” and the striping factor SF is set to “3”.
  • the storage control unit 23 ′ converts the first data into three data 1-1, 1- Divide into 2,1-3.
  • the memory selection unit 22 ′ selects the three memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 in order of increasing free capacity, and distributes the three divided data 1-1, 1-2, and 1 -3 is stored in three memories 11 -1 , 11 -2 and 11 -3 , respectively. This is master data.
  • the memory selection unit 22 ' in order to first first redundant divided data 1-1, the largest memory 11 redundant -2 free space outside the memory 11 -1 stored as master data Select for use. Then, the storage control unit 23 ′ copies the same data as the first divided data 1-1 and stores it in the memory 11-2 selected for redundancy.
  • the memory selection unit 22 ' two eye divided data 1-2 to redundancy, redundant largest memory 11 -3 free space outside the memory 11-2 stored as master data Select for use.
  • the storage control unit 23 ′ duplicates the same data as the second divided data 1-2, and stores it in the memory 11-3 selected for redundancy.
  • the memory selector 22 ' for in order to redundant divided data 1-3 of the third, redundant largest memory 11 -1 free space outside the memory 11 -3 stored as master data Select as. Then, the storage control unit 23 ′ copies the same data as the third divided data 1-3, and stores it in the memory 11-1 selected for redundancy.
  • the three divided data items 1-1, 1-2, and 1-3 are sequentially copied in this order, and each time one piece of divided data is copied, the memory selection unit 22 '
  • the order of duplication is not limited to this.
  • the three divided data 1-1, 1-2, and 1-3 may be replicated in order from the larger or smaller data size.
  • the three memories 11 -1 , 11 -2 , and 11 -3 are selected for distribution, and the three divided data items 1-1, 1-2, and 1-3 are stored as master data, respectively.
  • the procedure of selecting the redundancy memory and copying the three divided data 1-1, 1-2, and 1-3 has been described, but the present invention is not limited to this.
  • the two memories 11 -1 and 11 -2 are selected for redundancy and the first divided data 1-1 is stored, and then the two memories 11 -2 and 11 -3 are used for redundancy.
  • the two memories 11 -1 and 11 -3 are used for redundancy.
  • the two memories 11 -1 and 11 -3 for redundancy and store the third divided data 1-3. It may be.
  • FIG. 6B shows an example of data storage when the replication factor RF is set to “3” and the striping factor SF is set to “2”.
  • the first data read from the database 40 is divided into two to be divided data 1-1 and 1-2, each of which has two memories 11 ⁇ 1 and 11 ⁇ . 2 and (master data), and the divided divided data 1-1 and 1-2 are three memories 11 -1 , 11 -2 , 11 -3 selected for redundancy. Are stored in the remaining memories where no master data is stored.
  • the time measuring unit 26 measures the turnaround time of the processing executed by the BI software on the original divided data (master data) distributed and stored in the plurality of memories selected by the memory selecting unit 22 ′. .
  • the turnaround time is a response time from when a processing request is issued until a processing result is obtained. For example, each time the BI software process is executed in the terminal 30, the time measurement unit 26 measures the turnaround time related to the process, and calculates the average value of the turnaround times related to the latest number processes.
  • the dispersion number setting unit 25 sets the value of the striping factor SF so that the turnaround time measured by the time measurement unit 26 is within a predetermined time.
  • the processing time in this case is preferably set to a time (for example, 5 seconds) such that the user using the BI software does not feel stress.
  • the divided data stored in each of the memories 11 -1 , 11 -2 , and 11 -3 may increase in data amount as the data is updated while the processing by the BI software is repeated. As the amount of data increases, the processing speed decreases accordingly, and the turnaround time gradually increases.
  • the dispersion number setting unit 25 detects that the average value of the latest turnaround times measured by the time measurement unit 26 exceeds a predetermined time, striping is performed so that the turnaround time is within the predetermined time. Reset the factor SF. Specifically, the striping factor SF is increased by one. When the striping factor SF is reset, the memory selection unit 22 ′ and the storage control unit 23 ′ operate. As a result, the data stored in each of the memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3 at that time is re-divided according to the new distribution number, and divided into the newly selected distribution number of memories. Data is stored in a distributed manner, and duplicate data is stored.
  • the distribution number setting unit 25 sets the striping factor SF to the minimum value “1”. Then, when the average value of the latest turnaround times measured by the time measuring unit 26 exceeds a predetermined time, the dispersion number setting unit 25 sets the striping factor SF to “2”. Thereafter, the value of the striping factor SF is increased to “3” and “4” as necessary. In this way, it is possible to realize real-time data processing so that the turnaround time is always within a predetermined time even when the amount of data increases as data is updated.
  • the striping factor SF is set in addition to the replication factor RF, and the memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 -3 are used based on the two factors.
  • the situation can change dynamically. This enables more flexible in-memory computing operations such as replication by selecting the most suitable memory according to the circumstances of the situation, and the reliability and memory usage efficiency due to data redundancy. While improving, the real time property of the process by data distribution can also be improved.
  • the striping factor SF is reset when the turnaround time exceeds a predetermined time.
  • the present invention is not limited to this.
  • a storage status detection unit that detects the storage status of data in the memory selected by the memory selection unit 22 ′ is provided instead of the time measurement unit 26, and the distribution number setting unit 25 detects the data detected by the storage status detection unit.
  • the striping factor SF may be set in accordance with the storage status.
  • the striping factor SF may be reset when the ratio of the actual usage amount to the total capacity of the memory selected by the memory selection unit 22 ′ exceeds a predetermined value.
  • the striping factor SF when the striping factor SF is reset, the data stored in the memories 11 -1 , 11 -2 , 11 -3 at that time is divided according to the new distribution number.
  • this invention is not limited to this.
  • the value of the striping factor SF is increased by 1, the data stored in any one of the memories is divided into two, one of the divided data is stored in the same memory as before, and the other divided data is stored. You may make it store in the newly selected memory.
  • the example in which the selection criterion for the memory for redundancy is the same as the selection criterion for the memory for distribution has been described, but it may be different.
  • the memory 10 is selected in order from the larger free space, while when selecting a plurality of memories for distribution, the servers 10 -1 , 10 -2 , You may make it select in an order from the one with the high specification of 10-3 , or the one with the high health degree.
  • FIG. 7 is a block diagram showing an example of the functional configuration of the controller 20 ′′ in this case. In FIG. 7, those given the same reference numerals as those shown in FIG. 5 have the same functions. Since there are, redundant description is omitted here.
  • the memory selection unit 22 ′′ selects a predetermined number of memories with the number of distributions set as the striping factor SF by the distribution number setting unit 25 from the plurality of memories 11 ⁇ 1 , 11 ⁇ 2 , and 11 ⁇ 3.
  • the storage control unit 23 ′′ controls the memory selected by the memory selection unit 22 ′′ to store a plurality of divided data generated by dividing one data into a plurality of data.
  • the terminal 30 may incorporate the controllers 20, 20 ′, 20 ′′.
  • a part of the functions of the controllers 20, 20 ′, 20 ′′ may be provided to the terminal 30 or the servers 10 ⁇ 1 , 10 ⁇ 2 , 10 ⁇ 3 .
  • the function of the redundancy loss detection unit 24 Can be provided to the servers 10 ⁇ 1 , 10 ⁇ 2 , 10 ⁇ 3 , or the function of the time measuring unit 26 can be provided to the terminal 30.
  • each of the first and second embodiments described above is merely an example of a specific example for carrying out the present invention, and the technical scope of the present invention should not be interpreted in a limited manner. It will not be. That is, the present invention can be implemented in various forms without departing from the gist or the main features thereof.

Abstract

 The present invention is provided with: a redundancy count setting unit (21) for setting a redundancy count that is the number of memories in which the same data is stored; a memory selection unit (22) for selecting, from among a plurality of memories (11-1 to 11-3) and in accordance with a prescribed selection criterion, the memories of the redundancy count that was set by the redundancy count setting unit (21); and a storage control unit (23) for exerting control so that the same data is duplicated and stored relative to the memories selected by the memory selection unit (22). By ensuring that the same data is stored only relative to the memories of the redundancy count that was set by the redundancy count setting unit (21), the amount of memory used can be reduced as compared with a conventional system in which the same data is stored in all of the plurality of memories, and optimum memories can be selected and replicated in accordance with the current situation.

Description

インメモリ管理システムおよびインメモリ管理用プログラムIn-memory management system and in-memory management program
 本発明は、インメモリ管理システムおよびインメモリ管理用プログラムに関し、特に、複数のメモリに対して処理対象のデータを格納してインメモリデータベースを構築するインメモリ管理システムに用いて好適なものである。 The present invention relates to an in-memory management system and an in-memory management program, and is particularly suitable for use in an in-memory management system that constructs an in-memory database by storing data to be processed in a plurality of memories. .
 一般に、パソコンやサーバでは、ハードディスクなどの外部記憶装置にデータが格納されており、当該データが必要に応じてメインメモリ(主記憶装置)上に展開されて、処理が行われる。これに対して、最近では、メモリのビット単価(容量当たりの価格)の低下に伴い、いわゆるインメモリ技術が使われ始めている。インメモリ技術とは、使用するデータのすべてをメモリ上に格納し、ハードディスクなどの外部記憶装置を使わずに処理を実行する方式である。 Generally, in a personal computer or a server, data is stored in an external storage device such as a hard disk, and the data is expanded on a main memory (main storage device) as necessary to perform processing. On the other hand, in recent years, so-called in-memory technology has begun to be used as the bit unit price (price per capacity) of the memory decreases. In-memory technology is a method in which all data to be used is stored in a memory, and processing is executed without using an external storage device such as a hard disk.
 メモリは、ハードディスクと比べてデータの読み書き速度が10万倍程度も速い。そのため、ハードディスクとの間でデータのやり取りが発生しないインメモリ技術を用いれば、データの読み込みや書き出しを高速に行うことができ、処理を非常に高速に実行することが可能である。これにより、従来は数時間かかっていたデータ処理を数分に短縮したり、発生したデータを瞬時に処理して結果を返したりするといったリアルタイム処理が可能となる。現在の主な用途はデータベースの演算であるが、いわゆるビッグデータから企業が有益な情報を素早く抽出・分析するのに有効な技術として注目を集めている。 The memory has a data read / write speed that is about 100,000 times faster than a hard disk. Therefore, if an in-memory technology that does not exchange data with the hard disk is used, data can be read and written at high speed, and processing can be performed at very high speed. As a result, it is possible to perform real-time processing such as shortening data processing, which conventionally takes several hours, to several minutes, or processing generated data instantaneously and returning results. Currently, the main application is database operations, but it is attracting attention as an effective technology for companies to quickly extract and analyze useful information from so-called big data.
 ただし、メモリは不揮発性の記憶媒体であるため、サーバやパソコンなどのノードのメモリ上にあるデータは、ノードのシャットダウンにより電源が切れれば消えてしまう。また、ノードにおける何らかの障害により不測の電源ダウンが発生した場合も、メモリ上にあるデータは消えてしまう。そのため、メモリ上のデータをバックアップ保存しておく仕組みが必要となる。インメモリ技術には、バックアップ用途にハードディスクを使う方式と、複数のノードがそれぞれ備えるメモリ間でデータをコピーし合うクラスタ方式(例えば、特許文献1参照)とが用意されている。 However, since the memory is a non-volatile storage medium, data on the memory of a node such as a server or a personal computer is lost if the power is turned off due to the node being shut down. Also, even if an unexpected power down occurs due to some failure in the node, the data on the memory will be lost. Therefore, a mechanism for backing up data on the memory is required. In-memory technology includes a method of using a hard disk for backup purposes, and a cluster method of copying data between memories provided in a plurality of nodes (see, for example, Patent Document 1).
 特許文献1に記載の情報処理システムでは、インメモリデータベースを装備したサーバ装置を複数備え、各サーバ装置の各インメモリデータベースに、同一の処理対象データをそれぞれ記憶するようにしている。具体的には、処理対象データを3つのデータ群に区分けし、各データ群のマスタデータを3つのサーバ装置に分散して格納するとともに、当該マスタデータに対応するスレーブデータを、同じデータ群のマスタデータが格納されていない他のサーバ装置に格納する。サーバ装置は、処理要求を受けた処理対象データのマスタデータが自装置に格納されている場合に、当該マスタデータに対する要求された処理を行うとともに、処理を行ったマスタデータを、当該マスタデータの複製である他のサーバ装置に格納されているスレーブデータに対してコピー処理を行う。 The information processing system described in Patent Document 1 includes a plurality of server devices equipped with an in-memory database, and stores the same processing target data in each in-memory database of each server device. Specifically, the processing target data is divided into three data groups, the master data of each data group is distributed and stored in three server devices, and the slave data corresponding to the master data is stored in the same data group. Store in another server device that does not store master data. The server device performs the requested processing on the master data when the master data of the processing target data that has received the processing request is stored in the own device, and converts the processed master data to the master data Copy processing is performed on slave data stored in another server device that is a replica.
特開2012-53796号公報JP 2012-53796 A
 上記特許文献1に記載されているように、クラスタ機能を用いてメモリ上のデータのコピー(レプリカ)を二重三重に作ることにより(レプリケーションという)、万が一特定のノードの電源が落ちたり故障したりしてメモリ上のデータが失われても、コピー先のノードへ自動的にフェイルオーバーするため、信頼性の高いインメモリ・コンピューティングの運用が可能となる。また、処理対象データを複数のデータに区分けして複数のメモリに分散して格納し、各メモリに格納されたマスタデータを同時に処理することにより(ストライピングという)、処理対象データ全体の処理速度を高速化することが可能となる。 As described in the above-mentioned Patent Document 1, by using the cluster function to make a copy (replica) of data on the memory in a double-triple manner (referred to as replication), the power of a specific node should be dropped or failed. Even if the data on the memory is lost, it automatically fails over to the copy destination node, so that highly reliable in-memory computing can be performed. Moreover, the processing target data is divided into a plurality of data, distributed and stored in a plurality of memories, and the master data stored in each memory is processed simultaneously (referred to as striping), thereby increasing the processing speed of the entire processing target data. It is possible to increase the speed.
 しかしながら、特許文献1に記載の情報処理システムでは、インメモリデータベースを具備したサーバ装置が3台ある場合に、1つの処理対象データを3つに区分けして3つのマスタデータを生成し、3台のサーバ装置(メモリ)に常に3つのマスタデータを分散して格納するとともに、マスタデータから複製したスレーブデータを常に残り2台のサーバ装置(メモリ)に格納するようにしている。すなわち、全てのメモリを常にフルに使用する固定的な活用方法を採っている。 However, in the information processing system described in Patent Document 1, when there are three server devices equipped with an in-memory database, three pieces of master data are generated by dividing one processing target data into three pieces. The three master data are always distributed and stored in the server device (memory), and slave data copied from the master data is always stored in the remaining two server devices (memory). That is, a fixed utilization method in which all memories are always used at all times is adopted.
 そのため、レプリケーションおよびストライピングを行わない場合に比べて、メモリの使用量は3倍となり、メモリ使用効率が常に低下した状態となってしまうという問題があった。メモリは、以前に比べてビット単価が低下してきたとはいえ、ハードディスクなどの外部記憶装置に比べればまだ高価な記憶媒体である。したがって、メモリの使用効率を徒に低下させるのは好ましくない。 Therefore, compared to the case where replication and striping are not performed, there is a problem that the memory usage is tripled, and the memory usage efficiency is always reduced. The memory is still an expensive storage medium compared to an external storage device such as a hard disk, although the bit unit price has been lower than before. Therefore, it is not preferable to reduce the memory usage efficiency.
 また、3台のサーバ装置が全て正常に動作しているときはデータの冗長性(コピーを含めて3つのデータを持つこと)が保たれているが、少なくとも1台のサーバ装置が電源オフとなりメモリが使えなくなると、再び電源オンとなるまでの間は、予定していた冗長性が失われてしまう。例えば、電源のオン/オフが頻繁に切り替えられるパソコンをサーバ装置として用いる場合、3台のうち2台のパソコンがシャットダウンにより電源オフとなっていると、冗長性は完全に失われる。このとき、残り1台のパソコンに障害が発生してメモリからデータが消失すると、データを復帰させることができなくなってしまうという問題が生じる。 Also, when all three server devices are operating normally, data redundancy (having three data including copies) is maintained, but at least one server device is powered off. When the memory becomes unavailable, the planned redundancy is lost until the power is turned on again. For example, when a personal computer that is frequently switched on / off is used as a server device, if two of the three personal computers are powered off due to shutdown, the redundancy is completely lost. At this time, if a failure occurs in the remaining one personal computer and data is lost from the memory, there arises a problem that the data cannot be restored.
 また、3台のサーバ装置(メモリ)に分散させて格納した3つのマスタデータを同時に処理すれば、原理的には処理対象データの処理速度を3倍にすることができる。しかしながら、マスタデータの更新によってデータ量が肥大化していくと、それに伴って処理速度は低下していく。そのため、データ処理のリクエストを出してからレスポンスが返ってくるまでのターンアラウンドタイムが長くなってしまう。つまり、データを瞬時に処理して結果を返すといったリアルタイム性が損なわれてしまうという問題が生じる。 In addition, if three master data distributed and stored in three server devices (memory) are processed at the same time, in principle, the processing speed of processing target data can be tripled. However, as the amount of data increases due to the update of the master data, the processing speed decreases accordingly. As a result, the turnaround time from when a data processing request is issued until a response is returned becomes longer. That is, there arises a problem that the real-time property of processing data instantaneously and returning a result is impaired.
 本発明は、このような問題を解決するために成されたものであり、複数のメモリを状況に応じて最適に使い分けることにより、フレキシビリティの高いインメモリ・コンピューティングの運用を行うことができるようにすることを目的とする。 The present invention has been made to solve such problems, and by using a plurality of memories optimally according to the situation, it is possible to operate highly flexible in-memory computing. The purpose is to do so.
 上記した課題を解決するために、本発明では、同じデータを格納させるメモリの数である冗長数を設定する冗長数設定部と、複数のメモリの中から、冗長数設定部により設定された冗長数のメモリを所定の選択基準に従って選択するメモリ選択部と、メモリ選択部により選択されたメモリに対して同じデータを複製して格納させるように制御する格納制御部とを備えている。 In order to solve the above-described problem, in the present invention, a redundancy number setting unit that sets a redundancy number that is the number of memories that store the same data, and a redundancy that is set by the redundancy number setting unit from a plurality of memories A memory selection unit that selects a number of memories according to a predetermined selection criterion; and a storage control unit that controls the same data to be copied and stored in the memory selected by the memory selection unit.
 本発明の他の態様では、メモリ選択部により選択されたメモリの動作状況を監視し、冗長数設定部により設定された冗長数を満たす冗長性が失われたことを検出する冗長性喪失検出部を更に備え、当該冗長性喪失検出部により冗長性が失われたことが検出された場合、冗長数設定部により設定された冗長数に満たない数のメモリを所定の選択基準に従って再選択し、再選択されたメモリに対して同じデータを複製して格納させるようにしている。 In another aspect of the present invention, a redundancy loss detection unit that monitors the operation status of the memory selected by the memory selection unit and detects that the redundancy satisfying the redundancy number set by the redundancy number setting unit has been lost. And when the redundancy loss detection unit detects that the redundancy is lost, reselects the number of memories less than the redundancy number set by the redundancy number setting unit according to a predetermined selection criterion, The same data is duplicated and stored in the reselected memory.
 本発明の他の態様では、1つのデータを複数に分けて分散格納させるメモリの数である分散数を設定する分散数設定部を更に備え、複数のメモリの中から、冗長数設定部により設定された冗長数のメモリを所定の選択基準に従って冗長化用に選択するとともに、分散数設定部により設定された分散数のメモリを所定の選択基準に従って分散化用に選択する。そして、分散化用に選択されたメモリに対して、1つのデータを複数に分けて生成した複数の分割データをそれぞれ格納させるとともに、複数の分割データと同じデータを複製して、冗長化用に選択されたメモリのうちオリジナルの分割データが格納されていない残りのメモリに対して当該複製した同じデータをそれぞれ格納させるようにしている。ここで、分散数設定部は、分割データに対して実行される処理のターンアラウンドタイムが所定時間以内となるように分散数を設定するようにしている。 In another aspect of the present invention, a distribution number setting unit for setting a distribution number, which is the number of memories in which one data is divided and stored in a plurality, is further provided, and the redundancy number setting unit is set from the plurality of memories. The selected number of redundant memories are selected for redundancy according to a predetermined selection criterion, and the distributed number of memories set by the distribution number setting unit are selected for distribution according to a predetermined selection criterion. The memory selected for decentralization stores each of a plurality of divided data generated by dividing one data into a plurality of data, and copies the same data as the plurality of divided data for redundancy. The same copied data is stored in the remaining memories in which the original divided data is not stored among the selected memories. Here, the distribution number setting unit sets the distribution number so that the turnaround time of the process executed on the divided data is within a predetermined time.
 上記のように構成した本発明によれば、冗長数設定部により設定された冗長数のメモリに対してのみ同じデータが格納されるので、複数のメモリの全てに対して同じデータが格納される従来の方式と比べて、メモリの使用量を減らすことができる。このときデータが格納されるメモリは、複数のメモリの中から所定の選択基準に従って選択されるので、その時々における選択基準に対する合致度に応じて、選択されるメモリが動的に変わる。 According to the present invention configured as described above, since the same data is stored only in the redundant number of memories set by the redundant number setting unit, the same data is stored in all of the plurality of memories. Compared with the conventional method, the memory usage can be reduced. At this time, the memory in which the data is stored is selected from a plurality of memories according to a predetermined selection criterion, and the selected memory dynamically changes according to the degree of matching with the selection criterion at that time.
 例えば、あるデータを冗長化してメモリに格納する際に、そのときの状況に応じて複数のメモリの中から所定の選択基準に従って選択されたメモリセットに対して、当該あるデータが複製して格納される。その後、別のデータを冗長化してメモリに格納する際に、そのときの状況に応じて複数のメモリの中から所定の選択基準に従って選択された別のメモリセットに対して、当該別のデータが複製して格納される。このように、本発明によれば、フレキシビリティの高いインメモリ・コンピューティングの運用を行い、データの冗長性を持たせつつメモリ使用効率をより高めることができる。 For example, when certain data is made redundant and stored in a memory, the certain data is copied and stored in a memory set selected according to a predetermined selection criterion from a plurality of memories according to the situation at that time. Is done. Thereafter, when another data is made redundant and stored in the memory, the other data is stored in another memory set selected according to a predetermined selection criterion from a plurality of memories according to the situation at that time. Duplicated and stored. As described above, according to the present invention, highly flexible in-memory computing can be performed, and the memory usage efficiency can be further increased while providing data redundancy.
 本発明の他の特徴によれば、冗長数設定部により設定された冗長数を満たす冗長性が失われたことが検出された場合、そのときの状況に応じて複数のメモリの中から所定の選択基準に従って新たなメモリが再選択され、再選択されたメモリに対して同じデータが複製して格納されるので、冗長数設定部により設定された冗長数を満たす冗長性が常に維持される。これにより、メモリ使用効率を高めつつ、冗長化による信頼性をより高くすることができる。 According to another feature of the present invention, when it is detected that redundancy satisfying the redundancy number set by the redundancy number setting unit is lost, a predetermined number of memories are selected from a plurality of memories according to the situation at that time. A new memory is reselected according to the selection criteria, and the same data is duplicated and stored in the reselected memory, so that redundancy satisfying the redundancy number set by the redundancy number setting unit is always maintained. Thereby, it is possible to increase the reliability of redundancy while increasing the memory usage efficiency.
 本発明の他の特徴によれば、分散数設定部により設定された分散数のメモリに対して、1つのデータが分割されて分散格納される。データの分散数は、分割データに対して実行される処理のターンアラウンドタイムが所定時間以内となるように設定される。そのため、分割データの更新に伴ってデータ量が肥大化していき、それに伴って処理速度が低下し、ターンアラウンドタイムが所定時間を超えるようになると、分散数設定部により分散数が再設定され、再設定された分散数のメモリに対してデータが分散格納される。このように、本発明によれば、処理速度に応じてフレキシビリティの高いインメモリ・コンピューティングの運用を行うことができ、データ量が肥大化しても、ターンアラウンドタイムが常に所定時間以内となるようなリアルタイム性を実現することができる。 According to another feature of the present invention, one piece of data is divided and stored in a distributed number of memories set by the distributed number setting unit. The number of data distributions is set so that the turnaround time of processing executed on the divided data is within a predetermined time. Therefore, the amount of data increases with the update of the divided data, the processing speed decreases accordingly, and when the turnaround time exceeds the predetermined time, the number of distribution is reset by the distribution number setting unit, Data is distributed and stored in the reset number of distributed memories. As described above, according to the present invention, it is possible to perform highly flexible in-memory computing according to the processing speed, and even if the amount of data increases, the turnaround time is always within a predetermined time. Such real-time property can be realized.
第1の実施形態によるインメモリ管理システムの構成例を示す図である。It is a figure which shows the structural example of the in-memory management system by 1st Embodiment. 第1の実施形態によるコントローラが備える機能構成例を示すブロック図である。It is a block diagram which shows the function structural example with which the controller by 1st Embodiment is provided. 第1の実施形態によるレプリケーションを実行した場合に複数のメモリにデータが格納される状況の一例を示す図である。It is a figure which shows an example of the condition where data are stored in several memory, when the replication by 1st Embodiment is performed. 第2の実施形態によるインメモリ管理システムの構成例を示す図である。It is a figure which shows the structural example of the in-memory management system by 2nd Embodiment. 第2の実施形態によるコントローラが備える機能構成例を示すブロック図である。It is a block diagram which shows the function structural example with which the controller by 2nd Embodiment is provided. 第2の実施形態によるレプリケーションおよびストライピングを実行した場合に複数のメモリにデータが格納される状況の一例を示す図である。It is a figure which shows an example of the condition where data are stored in several memory when replication and striping by 2nd Embodiment are performed. 第2の実施形態によるコントローラが備える他の機能構成例を示すブロック図である。It is a block diagram which shows the other function structural example with which the controller by 2nd Embodiment is provided.
(第1の実施形態)
 以下、本発明の第1の実施形態を図面に基づいて説明する。図1は、第1の実施形態によるインメモリ管理システムの構成例を示す図である。図1に示すように、第1の実施形態によるインメモリ管理システムは、それぞれがメモリ(主記憶装置)11-1,11-2,11-3を備えた複数のサーバ10-1,10-2,10-3と、当該複数のメモリ11-1,11-2,11-3に対するデータの読み書きを制御するコントローラ20と、BI(Business Intelligence)ソフトがインストールされた端末30と、データベース40とを備えて構成されている。
(First embodiment)
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, a first embodiment of the invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a configuration example of an in-memory management system according to the first embodiment. As shown in FIG. 1, the in-memory management system according to the first embodiment includes a plurality of servers 10 −1 , 10 each having memories (main storage devices) 11 −1 , 11 −2 , 11 −3. 2 , 10 −3 , a controller 20 that controls reading and writing of data to and from the plurality of memories 11 −1 , 11 −2 , and 11 −3 , a terminal 30 in which BI (Business Intelligence) software is installed, a database 40, It is configured with.
 データベース40は、ハードディスクなどの外部記憶装置により構成されている。端末30は、このデータベース40に格納されているデータのうち、所望の処理に使用するデータのすべてをメモリ11-1,11-2,11-3に格納することにより、インメモリ環境を構築する。そして、インメモリ環境を構築した後、端末30は、データベース40にアクセスすることなく、メモリ11-1,11-2,11-3に格納されたデータを用いて所望の処理を実行する。 The database 40 is configured by an external storage device such as a hard disk. The terminal 30 constructs an in-memory environment by storing all of data stored in the database 40 to be used for desired processing in the memories 11 −1 , 11 −2 , and 11 −3. . Then, after constructing the in-memory environment, the terminal 30 executes a desired process using the data stored in the memories 11 −1 , 11 −2 , and 11 −3 without accessing the database 40.
 サーバ10-1,10-2,10-3は、データベース40から読み出されたデータを内部のメモリ11-1,11-2,11-3に格納する。このメモリ11-1,11-2,11-3に格納されたデータは、端末30のBIソフトで所望の処理を実行する際に読み出され、使用される。そして、その処理の結果更新されたデータが、再びメモリ11-1,11-2,11-3に格納される。なお、ここではサーバとしているが、パーソナルコンピュータやタブレット端末など、主記憶装置を備えているものであれば何れを用いてもよい。 The servers 10 −1 , 10 −2 , and 10 −3 store the data read from the database 40 in the internal memories 11 −1 , 11 −2 , and 11 −3 . The data stored in the memories 11 -1 , 11 -2 , 11 -3 is read out and used when a desired process is executed by the BI software of the terminal 30. Then, the data updated as a result of the processing is stored again in the memories 11 −1 , 11 −2 , and 11 −3 . In addition, although it is set as the server here, any one having a main storage device such as a personal computer or a tablet terminal may be used.
 後述するように、本実施形態ではレプリケーション機能によって同じデータを複数のメモリに複製して格納する。その中の1つがマスタデータ、残りがスレーブデータである。端末30は、コントローラ20を通じてメモリ11-1,11-2,11-3から読み出されるマスタデータに対して処理を実行する。このときコントローラ20は、その処理の結果をマスタデータとして更新するとともに、スレーブデータに複製する。 As will be described later, in the present embodiment, the same data is duplicated and stored in a plurality of memories by the replication function. One of them is master data, and the rest is slave data. The terminal 30 executes processing on the master data read from the memories 11 −1 , 11 −2 , and 11 −3 through the controller 20. At this time, the controller 20 updates the processing result as master data and copies it to slave data.
 図2は、第1の実施形態によるコントローラ20が備える機能構成例を示すブロック図である。図2に示すように、コントローラ20は、その機能構成として、冗長数設定部21、メモリ選択部22、格納制御部23および冗長性喪失検出部24を備えている。なお、図2では、インメモリのレプリケーションを行うことに関する主要な機能構成のみを示しており、所望の処理を実行するための機能構成その他の機能構成については図示を省略している。 FIG. 2 is a block diagram illustrating a functional configuration example provided in the controller 20 according to the first embodiment. As shown in FIG. 2, the controller 20 includes a redundancy number setting unit 21, a memory selection unit 22, a storage control unit 23, and a redundancy loss detection unit 24 as functional configurations. Note that FIG. 2 shows only the main functional configuration related to in-memory replication, and the functional configuration for executing a desired process and other functional configurations are not shown.
 上記各機能ブロック21~24は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック21~24は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。 Each of the functional blocks 21 to 24 can be configured by hardware, DSP (Digital Signal Processor), or software. For example, when configured by software, each of the functional blocks 21 to 24 is actually configured by including a CPU, RAM, ROM, and the like of a computer, and is stored in a recording medium such as RAM, ROM, hard disk, or semiconductor memory. Is realized by operating.
 冗長数設定部21は、同じデータを格納させるメモリの数である冗長数(レプリケーションファクタRFという)を設定する。図2の例では、コントローラ20に接続されているサーバ10-1,10-2,10-3の数は3つである。すなわち、データを格納することが可能なメモリ11-1,11-2,11-3の数は3つである。冗長数設定部21は、この3つのメモリ11-1,11-2,11-3のうち、同じデータを格納させるメモリの数として、“2”または“3”のレプリケーションファクタRFを設定することが可能である。なお、このレプリケーションファクタRFは、例えば、端末30にインストールされたBIソフトにより提供される設定画面を通じて、ユーザ操作によって設定する。 The redundancy number setting unit 21 sets a redundancy number (referred to as a replication factor RF) that is the number of memories that store the same data. In the example of FIG. 2, the number of servers 10 −1 , 10 −2 , and 10 −3 connected to the controller 20 is three. That is, the number of memories 11 −1 , 11 −2 , and 11 −3 that can store data is three. The redundancy number setting unit 21 sets a replication factor RF of “2” or “3” as the number of memories for storing the same data among the three memories 11 −1 , 11 −2 , and 11 −3. Is possible. The replication factor RF is set by a user operation through a setting screen provided by the BI software installed in the terminal 30, for example.
 メモリ選択部22は、複数のメモリ11-1,11-2,11-3の中から、冗長数設定部21によりレプリケーションファクタRFとして設定された冗長数のメモリを所定の選択基準に従って選択する。例えば、メモリ選択部22は、設定された冗長数のメモリを、空き容量が大きい方から順に選択する。このためにメモリ選択部22は、複数のサーバ10-1,10-2,10-3にアクセスしてメモリ11-1,11-2,11-3の空き容量を確認し、その確認の結果に従ってメモリを選択する。 The memory selection unit 22 selects a redundant number of memories set as the replication factor RF by the redundant number setting unit 21 from the plurality of memories 11 −1 , 11 −2 , and 11 −3 according to a predetermined selection criterion. For example, the memory selection unit 22 selects the set number of redundant memories in order from the larger free space. For this purpose, the memory selection unit 22 accesses the plurality of servers 10 −1 , 10 −2 , and 10 −3 to confirm the free capacity of the memories 11 −1 , 11 −2 , and 11 −3 , and as a result of the confirmation. Select memory according to.
 このメモリ選択部22によるメモリの選択は、最初にデータベース40からデータを読み出して何れかのメモリに格納する際に実行する。データを格納するメモリをいったん選択すると、端末30のBIソフトによる処理の実行によって更新されたデータは、同じメモリ上に上書きされる。よって、処理実行のタイミングで改めてメモリの選択を行う必要はない。ただし、選択したメモリがその後サーバの電源オフ等によって使えなくなった場合は、メモリ選択部22によるメモリの選択を改めて実行する。これについての詳細は後述する。 The memory selection by the memory selection unit 22 is executed when data is first read from the database 40 and stored in any memory. Once a memory for storing data is selected, the data updated by execution of processing by the BI software of the terminal 30 is overwritten on the same memory. Therefore, it is not necessary to select a memory again at the timing of processing execution. However, if the selected memory becomes unusable after the server power is turned off, the memory selection unit 22 selects the memory again. Details of this will be described later.
 格納制御部23は、メモリ選択部22により選択されたメモリに対して、同じデータを複製して格納させるように制御する。すなわち、最初にデータベース40からデータを読み出して何れかのメモリに格納する際に、格納制御部23は、メモリ選択部22により選択された複数のメモリに対して同じデータを格納させる。その後、複数のメモリに格納された同じデータのうち、マスタデータがBIソフトの処理の実行によって更新されると、格納制御部23は、当該更新されたマスタデータを更新前と同じメモリに上書きして格納する。また、格納制御部23は、更新されたマスタデータを複製し、それをスレーブデータが格納されたメモリに上書きして格納する。 The storage control unit 23 performs control so that the same data is duplicated and stored in the memory selected by the memory selection unit 22. That is, when data is first read from the database 40 and stored in any memory, the storage control unit 23 stores the same data in a plurality of memories selected by the memory selection unit 22. After that, among the same data stored in a plurality of memories, when the master data is updated by executing the processing of the BI software, the storage control unit 23 overwrites the updated master data in the same memory as before the update. Store. In addition, the storage control unit 23 duplicates the updated master data and overwrites and stores it in the memory in which the slave data is stored.
 冗長性喪失検出部24は、メモリ選択部22により選択されたメモリの動作状況を監視し、冗長数設定部21により設定された冗長数を満たす冗長性が失われた場合にはそのことを検出する。例えば、サーバ10-1,10-2,10-3がシャットダウン操作によって電源オフとされた場合、あるいは、サーバ10-1,10-2,10-3に何らかの障害が発生して電源オフまたはフリーズ状態となった場合は、そのサーバ10-1,10-2,10-3に内蔵されたメモリ11-1,11-21,11-3は使用できない状況となる。冗長性喪失検出部24は、メモリ選択部22により選択されたメモリのうち何れかが使用できない状況になったことを検出した場合、冗長数設定部21により設定された冗長数を満たす冗長性が失われたと判断する。 The redundancy loss detection unit 24 monitors the operation status of the memory selected by the memory selection unit 22 and detects that the redundancy satisfying the redundancy number set by the redundancy number setting unit 21 is lost. To do. For example, when the servers 10 −1 , 10 −2 , and 10 −3 are turned off by a shutdown operation, or some failure occurs in the servers 10 −1 , 10 −2 , and 10 −3 , the power is turned off or frozen. When this happens, the memories 11 -1 , 11 -21 , 11 -3 built in the servers 10 -1 , 10 -2 , 10 -3 become unusable. When the redundancy loss detection unit 24 detects that any of the memories selected by the memory selection unit 22 has become unusable, there is redundancy that satisfies the redundancy number set by the redundancy number setting unit 21. Judge that it was lost.
 冗長性喪失検出部24により冗長数を満たす冗長性が失われたことが検出された場合、メモリ選択部22は、当該冗長数に満たない数のメモリを所定の選択基準に従って再選択する。例えば、レプリケーションファクタRFが“2”に設定されて2つのメモリ11-1,11-2が選択され、当該2つのメモリ11-1,11-2に同じデータが格納された場合において、何れか一方のメモリが使えなくなったことが冗長性喪失検出部24により検出された場合、メモリ選択部22は、冗長数に満たない数(すなわち、1つ)のメモリを所定の選択基準に従って再選択する。この場合は、残り1つのメモリ11-3が選択されることになる。なお、コントローラ20に接続されたメモリが4つ以上ある場合、メモリ選択部22は、元々選択されていた2つのメモリ11-1,11-2以外から、その時点で空き容量が最も大きい1つのメモリを再選択する。 When the redundancy loss detecting unit 24 detects that the redundancy satisfying the redundancy number has been lost, the memory selection unit 22 reselects the number of memories less than the redundancy number according to a predetermined selection criterion. For example, when the replication factor RF is set to “2”, two memories 11 −1 and 11 −2 are selected, and the same data is stored in the two memories 11 −1 and 11 −2 , either When the redundancy loss detecting unit 24 detects that one of the memories can no longer be used, the memory selecting unit 22 reselects the number of memories less than the redundant number (that is, one) according to a predetermined selection criterion. . In this case, the remaining one memory 11-3 is selected. When there are four or more memories connected to the controller 20, the memory selection unit 22 selects one of the memories with the largest free space at that time from the two memories 11 -1 and 11 -2 that were originally selected. Reselect memory.
 ここで、使えなくなったメモリのデータがマスタデータであった場合、メモリ選択部22は、マスタデータの再設定を行う必要がある。例えば、元々選択されていた2つのメモリ11-1,11-2のうち、まだ使用可能な状態で残っている方のメモリ(以下、これを残存メモリと称する)に格納されているデータをマスタデータに設定する。または、残存メモリおよびメモリ選択部22により新たに選択されたメモリのうち、その時点で空き容量が最も大きいメモリに格納されているデータをマスタデータに設定するようにしてもよい。 Here, when the data in the memory that can no longer be used is the master data, the memory selection unit 22 needs to reset the master data. For example, of the two memories 11 −1 and 11 −2 originally selected, the data stored in the remaining usable memory (hereinafter referred to as “remaining memory”) is mastered. Set to data. Alternatively, the data stored in the memory having the largest free space at that time among the memory newly selected by the remaining memory and the memory selection unit 22 may be set as the master data.
 また、格納制御部23は、メモリ選択部22により再選択されたメモリに対して、同じデータを複製して格納させるように制御する。すなわち、格納制御部23は、元々選択されていた2つのメモリ11-1,11-2のうち、残存メモリに格納されているデータを複製し、それを新たに選択されたメモリに格納する。このように、本実施形態によれば、サーバ10-1,10-2,10-3の電源オフ等により何れかのメモリが使えなくなっても、そのときの状況に応じて複数のメモリ11-1,11-2,11-3の中から新たなメモリが再選択され、再選択されたメモリに対して同じデータが複製して格納される。これにより、冗長数設定部21により設定された冗長数を満たす冗長性を常に維持し、冗長化による信頼性を高くすることができる。 In addition, the storage control unit 23 performs control so that the same data is duplicated and stored in the memory reselected by the memory selection unit 22. That is, the storage control unit 23 duplicates the data stored in the remaining memory among the two memories 11 −1 and 11 −2 that were originally selected, and stores it in the newly selected memory. As described above, according to the present embodiment, even if any of the memories becomes unusable due to power-off of the servers 10 −1 , 10 −2 , 10 −3 , a plurality of memories 11 are selected according to the situation at that time. A new memory is reselected from 1 , 11 -2 , and 11 -3 , and the same data is duplicated and stored in the reselected memory. Thereby, redundancy satisfying the redundancy number set by the redundancy number setting unit 21 can always be maintained, and reliability by redundancy can be increased.
 図3は、第1の実施形態によるレプリケーションを実行した場合に複数のメモリ11-1,11-2,11-3にデータが格納される状況の一例を示す図である。図3の例は、レプリケーションファクタRFを“2”に設定した場合のデータの格納例を示している。 FIG. 3 is a diagram illustrating an example of a situation in which data is stored in the plurality of memories 11 −1 , 11 −2 , and 11 −3 when replication according to the first embodiment is executed. The example of FIG. 3 shows an example of data storage when the replication factor RF is set to “2”.
 図3(a)の例では、最初にデータベース40から第1のデータを読み出してインメモリ環境を構築する際に、空き容量が大きい順に2つのメモリ11-1,11-2が選択され、同じ第1のデータが格納されている。太枠で示した方がマスタデータ、細枠で示した方がスレーブデータである。BIソフトによる処理の実行によって第1のデータ(マスタデータ)が更新された場合、更新された第1のデータは、同じ2つのメモリ11-1,11-2に格納される。 In the example of FIG. 3A, when the first data is first read from the database 40 and the in-memory environment is constructed, the two memories 11 −1 and 11 −2 are selected in descending order of free capacity, and the same First data is stored. The one shown with a thick frame is master data, and the one shown with a thin frame is slave data. When the first data (master data) is updated by execution of processing by the BI software, the updated first data is stored in the same two memories 11 −1 and 11 −2 .
 その後、第1のデータとは別の第2のデータをデータベース40から読み出してインメモリ環境を構築する際に、その時点で空き容量が大きい順に2つのメモリ11-2,11-3が選択され、同じ第2のデータが格納されている。BIソフトによる処理の実行によって第2のデータが更新された場合、更新された第2のデータは、同じ2つのメモリ11-2,11-3に格納される。 Thereafter, when the second data different from the first data is read from the database 40 and the in-memory environment is constructed, the two memories 11 -2 and 11 -3 are selected in descending order of free space at that time. , The same second data is stored. When the second data is updated by execution of processing by the BI software, the updated second data is stored in the same two memories 11 -2 and 11 -3 .
 このような状態において、図3(b)に示すように、例えばサーバ10-1が電源オフとなってメモリ11-1が使えなくなった場合、このメモリ11-1に格納されている第1のデータに関する残存メモリ11-2に格納されている第1のデータが、新たに選択されたメモリ11-3に複製して格納される。 In such a state, as shown in FIG. 3B, for example, when the server 10 -1 is powered off and the memory 11 -1 becomes unusable, the first stored in the memory 11 -1 The first data stored in the remaining memory 11 -2 relating to the data is duplicated and stored in the newly selected memory 11-3 .
 以上詳しく説明したように、第1の実施形態によれば、冗長数設定部21により設定された冗長数のメモリに対してのみ同じデータが格納されるので、複数のメモリ11-1,11-2,11-3の全てに対して同じデータが格納される従来の方式と比べて、メモリの使用量を減らすことができる。このときデータが格納されるメモリは、複数のメモリ11-1,11-2,11-3の中から所定の選択基準(空き容量の大きい順)に従って選択されるので、その時々における選択基準に対する合致度に応じて、選択されるメモリが動的に変わる。 As described above in detail, according to the first embodiment, since the same data is stored only in the redundant number of memories set by the redundant number setting unit 21, a plurality of memories 11 −1 , 11 is stored. Compared with the conventional method in which the same data is stored for all of 2 and 11-3 , the memory usage can be reduced. At this time, the memory in which the data is stored is selected from a plurality of memories 11 −1 , 11 −2 , and 11 −3 according to a predetermined selection criterion (in descending order of available capacity). The selected memory changes dynamically according to the degree of match.
 すなわち、図3で説明したように、第1のデータを冗長化してメモリに格納する際に、そのときの各メモリ11-1,11-2,11-3の空き容量に応じて選択された2つのメモリ11-1,11-2に対して、第1のデータが複製して格納される。その後、第2のデータを冗長化してメモリに格納する際に、そのときの各メモリ11-1,11-2,11-3の空き容量に応じて選択された2つのメモリ11-2,11-3に対して、第2のデータが複製して格納される。 That is, as described with reference to FIG. 3, when the first data is made redundant and stored in the memory, it is selected according to the free capacity of each memory 11 -1 , 11 -2 , 11 -3 at that time. The first data is duplicated and stored in the two memories 11 -1 and 11 -2 . Thereafter, when the second data is made redundant and stored in the memory, the two memories 11 -2 , 11 selected according to the free capacity of the respective memories 11 -1 , 11 -2 , 11 -3 at that time -3 , the second data is duplicated and stored.
 このように、第1の実施形態によれば、その時々の状況に応じて最適なメモリを選択してレプリケーションを行うといったフレキシビリティの高いインメモリ・コンピューティングの運用を行い、データの冗長性を持たせつつメモリ使用効率をより高めることができる。 As described above, according to the first embodiment, in-memory computing with high flexibility is performed such that replication is performed by selecting an optimal memory according to the situation at each time, and data redundancy is achieved. The memory usage efficiency can be further increased while having it.
 また、第1の実施形態によれば、冗長数設定部21により設定された冗長数を満たす冗長性が失われたことが検出された場合、そのときの各メモリ11-1,11-2,11-3の空き容量に応じて新たなメモリが再選択され、再選択されたメモリに対して同じデータが複製して格納されるので、冗長数設定部21により設定された冗長数を満たす冗長性が常に維持される。これにより、メモリ使用効率を高めつつ、冗長化による信頼性をより高くすることができる。 Further, according to the first embodiment, when it is detected that the redundancy satisfying the redundancy number set by the redundancy number setting unit 21 is lost, the respective memories 11 −1 , 11 −2 , Since a new memory is reselected according to the free space of 11 −3 and the same data is duplicated and stored in the reselected memory, the redundancy satisfying the redundancy number set by the redundancy number setting unit 21 Sex is always maintained. Thereby, it is possible to increase the reliability of redundancy while increasing the memory usage efficiency.
 なお、上記第1の実施形態では、複数のメモリ11-1,11-2,11-3の中から何れかを選択する際の選択基準として、空き容量が大きいものを選択する例について説明したが、本発明はこれに限定されない。例えば、メモリ11-1,11-2,11-3を内蔵したサーバ10-1,10-2,10-3のスペックが高い(処理性能が高い)方から順に、冗長数設定部21により設定された冗長数のメモリを選択するようにしてもよい。あるいは、サーバ10-1,10-2,10-3に対して実施したヘルスチェック(pingコマンドに対するレスポンス時間、過去のダウンタイム、欠陥の有無など)の結果に基づいて、健康度が高い方から順に、冗長数設定部21により設定された冗長数のメモリを選択するようにしてもよい。 In the first embodiment, an example has been described in which one having a large free space is selected as a selection criterion when selecting one of the plurality of memories 11 −1 , 11 −2 , and 11 −3 . However, the present invention is not limited to this. For example, the memory 11 -1, 11 -2, 11 -3 server 10-1 with a built-in, 10-2, in order from 10 -3 spec high (processing performance is high) better, set by the redundant number setting unit 21 The redundant number of memories may be selected. Alternatively, based on the results of health checks (response time to the ping command, past downtime, presence / absence of defects, etc.) performed on the servers 10 -1 , 10 -2 , 10 -3 In order, the redundant number of memories set by the redundant number setting unit 21 may be selected.
 また、上記第1の実施形態では、コントローラ20に接続されているサーバ10-1,10-2,10-3の数を上限としてレプリケーションファクタRFを設定する例について説明したが、当該上限を超える数のレプリケーションファクタRFを設定するようにしてもよい。例えば、図1のように3つのサーバ10-1,10-2,10-3がコントローラ20に接続されている状況のときに、“4”以上のレプリケーションファクタRFを設定してもよい。 In the first embodiment, the example in which the replication factor RF is set with the number of servers 10 −1 , 10 −2 , and 10 −3 connected to the controller 20 as the upper limit has been described. A number of replication factors RF may be set. For example, when three servers 10 −1 , 10 −2 , and 10 −3 are connected to the controller 20 as shown in FIG. 1, a replication factor RF of “4” or more may be set.
 この場合、コントローラ20は、接続されるサーバを監視し、冗長数設定部21により設定された冗長数よりも少ないサーバしか接続されていない場合は、それらのサーバが備えるメモリの全てに対して同じデータを格納するように制御する。そして、コントローラ20に接続されるサーバが増えるたびに、レプリケーションファクタRFの数を上限として、同じデータを格納するサーバを動的に増やしていく。このようにすれば、よりフレキシビリティの高いインメモリ・コンピューティングの運用を行うことができる。 In this case, the controller 20 monitors the servers to be connected, and when only a smaller number of servers than the number of redundancy set by the redundancy number setting unit 21 are connected, the same is applied to all of the memories included in those servers. Control to store data. Each time the number of servers connected to the controller 20 increases, the number of servers storing the same data is dynamically increased up to the number of replication factors RF. In this way, it is possible to operate in-memory computing with higher flexibility.
(第2の実施形態)
 次に、本発明の第2の実施形態を図面に基づいて説明する。図4は、第2の実施形態によるインメモリ管理システムの構成例を示す図である。なお、この図4において、図1に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図4に示すように、第2の実施形態によるインメモリ管理システムは、図1に示したコントローラ20に代えて、コントローラ20’を備えている。
(Second Embodiment)
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 4 is a diagram illustrating a configuration example of the in-memory management system according to the second embodiment. In FIG. 4, those given the same reference numerals as those shown in FIG. 1 have the same functions, and therefore redundant description is omitted here. As shown in FIG. 4, the in-memory management system according to the second embodiment includes a controller 20 ′ instead of the controller 20 shown in FIG.
 図5は、第2の実施形態によるコントローラ20’が備える機能構成例を示すブロック図である。なお、この図5において、図2に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図5に示すように、コントローラ20’は、その機能構成として、分散数設定部25および時間測定部26を更に備えている。また、図2に示したメモリ選択部22および格納制御部23に代えて、メモリ選択部22’および格納制御部23’を備えている。なお、図5では、インメモリのレプリケーションおよびストライピングを行うことに関する主要な機能構成のみを示しており、所望の処理を実行するための機能構成その他の機能構成については図示を省略している。 FIG. 5 is a block diagram illustrating a functional configuration example provided in the controller 20 ′ according to the second embodiment. In FIG. 5, those given the same reference numerals as those shown in FIG. 2 have the same functions, and therefore redundant description is omitted here. As shown in FIG. 5, the controller 20 ′ further includes a dispersion number setting unit 25 and a time measurement unit 26 as functional configurations. Further, instead of the memory selection unit 22 and the storage control unit 23 shown in FIG. 2, a memory selection unit 22 'and a storage control unit 23' are provided. Note that FIG. 5 shows only main functional configurations related to in-memory replication and striping, and a functional configuration for executing desired processing and other functional configurations are not shown.
 上記各機能ブロック21,22’,23’,24~26は、ハードウェア、DSP、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック21,22’,23’,24~26は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。 The functional blocks 21, 22 ', 23', and 24-26 can be configured by any of hardware, DSP, and software. For example, when configured by software, each of the functional blocks 21, 22 ′, 23 ′, and 24-26 is actually configured by including a CPU, RAM, ROM, etc. of a computer, such as RAM, ROM, hard disk, semiconductor memory, etc. This is realized by operating a program stored in the recording medium.
 分散数設定部25は、1つのデータを複数に分けて分散格納させるメモリの数である分散数(ストライピングファクタSFという)を設定する。なお、このストライピングファクタSFは、例えば、端末30にインストールされたBIソフトにより提供される設定画面を通じて、ユーザ操作によって設定することが可能である。あるいは、所定の判断基準に従って、分散数設定部25が自動的にストライピングファクタSFを設定するようにしてもよい。図5では、時間測定部26から通知される情報に従って、ストライピングファクタSFを自動的に設定する例を示している。これについての詳細は後述する。 The distribution number setting unit 25 sets a distribution number (referred to as a striping factor SF), which is the number of memories in which one data is divided and stored. The striping factor SF can be set by a user operation through a setting screen provided by BI software installed in the terminal 30, for example. Alternatively, the distribution number setting unit 25 may automatically set the striping factor SF according to a predetermined criterion. FIG. 5 shows an example in which the striping factor SF is automatically set according to information notified from the time measurement unit 26. Details of this will be described later.
 メモリ選択部22’は、複数のメモリ11-1,11-2,11-3の中から、冗長数設定部21により設定された冗長数のメモリを所定の選択基準に従って冗長化用に選択するとともに、分散数設定部25により設定された分散数のメモリを所定の選択基準に従って分散化用に選択する。所定の選択基準は第1の実施形態と同様であり、例えばメモリの空き容量が大きい順に選択するものとする。 The memory selection unit 22 ′ selects a redundant number of memories set by the redundant number setting unit 21 for redundancy according to a predetermined selection criterion from among the plurality of memories 11 −1 , 11 −2 , and 11 −3. At the same time, the memory having the number of distributions set by the distribution number setting unit 25 is selected for distribution according to a predetermined selection criterion. The predetermined selection criterion is the same as that in the first embodiment, and for example, selection is made in descending order of the available memory capacity.
 例えば、レプリケーションファクタRFが“2”に設定され、ストライピングファクタSFが“3”に設定された場合、メモリ選択部22’は、2個のメモリを冗長化用に選択し、3個のメモリを分散化用に選択する。ここで、冗長化用に選択するメモリと、分散化用に選択するメモリは、一部または全部が重複していてもよい。 For example, when the replication factor RF is set to “2” and the striping factor SF is set to “3”, the memory selection unit 22 ′ selects two memories for redundancy, and selects three memories. Select for decentralization. Here, the memory selected for redundancy and the memory selected for distribution may partially or entirely overlap.
 格納制御部23’は、メモリ選択部22’により分散化用に選択されたメモリに対して、1つのデータを複数に分けて生成した複数の分割データをそれぞれ格納させるように制御する。また、格納制御部23’は、複数の分割データと同じデータを複製して、メモリ選択部22’により冗長化用に選択されたメモリのうちオリジナルの分割データ(マスタデータ)が格納されていない残りのメモリに対して、複製した同じデータをそれぞれ格納させるように制御する。 The storage control unit 23 ′ controls the memory selected for distribution by the memory selection unit 22 ′ to store a plurality of divided data generated by dividing one data into a plurality of pieces. Further, the storage control unit 23 ′ duplicates the same data as the plurality of divided data, and the original divided data (master data) is not stored among the memories selected for redundancy by the memory selection unit 22 ′. Control is performed so that the same copied data is stored in each of the remaining memories.
 図6は、第2の実施形態によるレプリケーションおよびストライピングを実行した場合に複数のメモリ11-1,11-2,11-3にデータが格納される状況の一例を示す図である。この図6においても、太枠で示したものがマスタデータ、細枠で示したものがスレーブデータである。図6(a)は、レプリケーションファクタRFを“2”、ストライピングファクタSFを“3”に設定した場合のデータの格納例を示している。 FIG. 6 is a diagram illustrating an example of a situation in which data is stored in a plurality of memories 11 −1 , 11 −2 , and 11 −3 when replication and striping according to the second embodiment are executed. Also in FIG. 6, the data indicated by the thick frame is master data, and the data indicated by the thin frame is slave data. FIG. 6A shows an example of data storage when the replication factor RF is set to “2” and the striping factor SF is set to “3”.
 図6(a)の例では、データベース40から第1のデータを読み出してインメモリ環境を構築する際に、格納制御部23’は、当該第1のデータを3つのデータ1-1,1-2,1-3に分割する。この場合、メモリ選択部22’は、空き容量が大きい順に3つのメモリ11-1,11-2,11-3を分散化用として選択し、3つの分割データ1-1,1-2,1-3をそれぞれ3つのメモリ11-1,11-2,11-3に格納させる。これがマスタデータとなる。 In the example of FIG. 6A, when the first data is read from the database 40 and the in-memory environment is constructed, the storage control unit 23 ′ converts the first data into three data 1-1, 1- Divide into 2,1-3. In this case, the memory selection unit 22 ′ selects the three memories 11 −1 , 11 −2 , and 11 −3 in order of increasing free capacity, and distributes the three divided data 1-1, 1-2, and 1 -3 is stored in three memories 11 -1 , 11 -2 and 11 -3 , respectively. This is master data.
 さらに、メモリ選択部22’は、まず1つ目の分割データ1-1を冗長化するために、マスタデータとして格納されたメモリ11-1以外で空き容量が最も大きいメモリ11-2を冗長化用として選択する。そして、格納制御部23’は、1つ目の分割データ1-1と同じデータを複製して、それを冗長化用に選択したメモリ11-2に格納する。 Further, the memory selection unit 22 ', in order to first first redundant divided data 1-1, the largest memory 11 redundant -2 free space outside the memory 11 -1 stored as master data Select for use. Then, the storage control unit 23 ′ copies the same data as the first divided data 1-1 and stores it in the memory 11-2 selected for redundancy.
 次に、メモリ選択部22’は、2つ目の分割データ1-2を冗長化するために、マスタデータとして格納されたメモリ11-2以外で空き容量が最も大きいメモリ11-3を冗長化用として選択する。そして、格納制御部23’は、2つ目の分割データ1-2と同じデータを複製して、それを冗長化用に選択したメモリ11-3に格納する。 Next, the memory selection unit 22 ', two eye divided data 1-2 to redundancy, redundant largest memory 11 -3 free space outside the memory 11-2 stored as master data Select for use. Then, the storage control unit 23 ′ duplicates the same data as the second divided data 1-2, and stores it in the memory 11-3 selected for redundancy.
 さらに、メモリ選択部22’は、3つ目の分割データ1-3を冗長化するために、マスタデータとして格納されたメモリ11-3以外で空き容量が最も大きいメモリ11-1を冗長化用として選択する。そして、格納制御部23’は、3つ目の分割データ1-3と同じデータを複製して、それを冗長化用に選択したメモリ11-1に格納する。 Further, the memory selector 22 ', for in order to redundant divided data 1-3 of the third, redundant largest memory 11 -1 free space outside the memory 11 -3 stored as master data Select as. Then, the storage control unit 23 ′ copies the same data as the third divided data 1-3, and stores it in the memory 11-1 selected for redundancy.
 なお、ここでは3つの分割データ1-1,1-2,1-3をこの順番に従って順次複製していき、1つの分割データを複製するたびにメモリ選択部22’が空き容量に応じて何れかのメモリを選択する例について説明したが、複製の順番はこれに限定されない。例えば、3つの分割データ1-1,1-2,1-3を、データサイズの大きい方または小さい方から順に複製していくようにしてもよい。 Here, the three divided data items 1-1, 1-2, and 1-3 are sequentially copied in this order, and each time one piece of divided data is copied, the memory selection unit 22 ' Although an example of selecting such a memory has been described, the order of duplication is not limited to this. For example, the three divided data 1-1, 1-2, and 1-3 may be replicated in order from the larger or smaller data size.
 また、ここでは、最初に3つのメモリ11-1,11-2,11-3を分散化用に選択し、3つの分割データ1-1,1-2,1-3をそれぞれマスタデータとして格納した後に、冗長化用のメモリを選択して3つの分割データ1-1,1-2,1-3を複製する手順について説明したが、本発明はこれに限定されない。例えば、最初に2つのメモリ11-1,11-2を冗長化用に選択して1つ目の分割データ1-1を格納した後、2つのメモリ11-2,11-3を冗長化用に選択して2つ目の分割データ1-2を格納し、最後に2つのメモリ11-1,11-3を冗長化用に選択して3つ目の分割データ1-3を格納するようにしてもよい。 Here, first, the three memories 11 -1 , 11 -2 , and 11 -3 are selected for distribution, and the three divided data items 1-1, 1-2, and 1-3 are stored as master data, respectively. After that, the procedure of selecting the redundancy memory and copying the three divided data 1-1, 1-2, and 1-3 has been described, but the present invention is not limited to this. For example, first, the two memories 11 -1 and 11 -2 are selected for redundancy and the first divided data 1-1 is stored, and then the two memories 11 -2 and 11 -3 are used for redundancy. To store the second divided data 1-2 and finally select the two memories 11 -1 and 11 -3 for redundancy and store the third divided data 1-3. It may be.
 図6(b)は、レプリケーションファクタRFを“3”、ストライピングファクタSFを“2”に設定した場合のデータの格納例を示している。図6(b)の例では、データベース40から読み出された第1のデータが2つに分割されて分割データ1-1,1-2とされ、それぞれが2つのメモリ11-1,11-2,に分散して格納されるとともに(マスタデータ)、複製された分割データ1-1,1-2が、冗長化用に選択された3つのメモリ11-1,11-2,11-3のうちマスタデータが格納されていない残りのメモリに対してそれぞれ格納されている。 FIG. 6B shows an example of data storage when the replication factor RF is set to “3” and the striping factor SF is set to “2”. In the example of FIG. 6 (b), the first data read from the database 40 is divided into two to be divided data 1-1 and 1-2, each of which has two memories 11 −1 and 11 −. 2 and (master data), and the divided divided data 1-1 and 1-2 are three memories 11 -1 , 11 -2 , 11 -3 selected for redundancy. Are stored in the remaining memories where no master data is stored.
 時間測定部26は、メモリ選択部22’により選択された複数のメモリに分散して格納されたオリジナルの分割データ(マスタデータ)に対してBIソフトによって実行される処理のターンアラウンドタイムを測定する。ターンアラウンドタイムとは、処理のリクエストを出してから処理結果が得られるまでのレスポンス時間のことである。時間測定部26は、例えば、端末30においてBIソフトの処理が実行されるたびに、その処理に関するターンアラウンドタイムを測定し、直近の数処理に関するターンアラウンドタイムの平均値を算出する。 The time measuring unit 26 measures the turnaround time of the processing executed by the BI software on the original divided data (master data) distributed and stored in the plurality of memories selected by the memory selecting unit 22 ′. . The turnaround time is a response time from when a processing request is issued until a processing result is obtained. For example, each time the BI software process is executed in the terminal 30, the time measurement unit 26 measures the turnaround time related to the process, and calculates the average value of the turnaround times related to the latest number processes.
 分散数設定部25は、時間測定部26により測定されるターンアラウンドタイムが所定時間以内となるように、ストライピングファクタSFの値を設定する。この場合の処理時間は、BIソフトを使用するユーザがストレスを感じない程度の時間(例えば、5秒)に設定するのが好ましい。各メモリ11-1,11-2,11-3に格納された分割データは、BIソフトによる処理を繰り返し行っていくうちに、データ更新に伴ってデータ量が肥大化していく可能性がある。データ量が大きくなると、それに伴って処理速度が低下し、ターンアラウンドタイムも少しずつ長くなっていく。 The dispersion number setting unit 25 sets the value of the striping factor SF so that the turnaround time measured by the time measurement unit 26 is within a predetermined time. The processing time in this case is preferably set to a time (for example, 5 seconds) such that the user using the BI software does not feel stress. The divided data stored in each of the memories 11 -1 , 11 -2 , and 11 -3 may increase in data amount as the data is updated while the processing by the BI software is repeated. As the amount of data increases, the processing speed decreases accordingly, and the turnaround time gradually increases.
 この場合、分散数設定部25は、時間測定部26により測定される直近のターンアラウンドタイムの平均値が所定時間を超えたことを検出すると、ターンアラウンドタイムが所定時間以内となるように、ストライピングファクタSFを再設定する。具体的には、ストライピングファクタSFの値を1つ大きくする。ストライピングファクタSFが再設定された場合、メモリ選択部22’および格納制御部23’が動作する。これにより、その時点で各メモリ11-1,11-2,11-3に格納されているデータを新たな分散数に従って分割し直して、新たに選択された分散数のメモリに対してそれぞれ分割データが分散格納されるとともに、複製データが格納される。 In this case, when the dispersion number setting unit 25 detects that the average value of the latest turnaround times measured by the time measurement unit 26 exceeds a predetermined time, striping is performed so that the turnaround time is within the predetermined time. Reset the factor SF. Specifically, the striping factor SF is increased by one. When the striping factor SF is reset, the memory selection unit 22 ′ and the storage control unit 23 ′ operate. As a result, the data stored in each of the memories 11 −1 , 11 −2 , and 11 −3 at that time is re-divided according to the new distribution number, and divided into the newly selected distribution number of memories. Data is stored in a distributed manner, and duplicate data is stored.
 例えば、最初にデータベース40からデータを読み出してインメモリ環境を構築する際に、分散数設定部25はストライピングファクタSFを最小値の“1”に設定する。そして、時間測定部26により測定される直近のターンアラウンドタイムの平均値が所定時間を超えた段階で、分散数設定部25はストライピングファクタSFを“2”に設定する。以降、同様にしてストライピングファクタSFの値を必要に応じて“3”、“4”と増やしていく。このようにすれば、データの更新に伴ってデータ量が肥大化しても、ターンアラウンドタイムが常に所定時間以内となるようなデータ処理のリアルタイム性を実現することができる。 For example, when data is first read from the database 40 and an in-memory environment is constructed, the distribution number setting unit 25 sets the striping factor SF to the minimum value “1”. Then, when the average value of the latest turnaround times measured by the time measuring unit 26 exceeds a predetermined time, the dispersion number setting unit 25 sets the striping factor SF to “2”. Thereafter, the value of the striping factor SF is increased to “3” and “4” as necessary. In this way, it is possible to realize real-time data processing so that the turnaround time is always within a predetermined time even when the amount of data increases as data is updated.
 以上詳しく説明したように、第2の実施形態によれば、レプリケーションファクタRFに加えてストライピングファクタSFも設定し、2つのファクタに基づいて各メモリ11-1,11-2,11-3の使用状況を動的に変えることができる。これにより、その時々の状況に応じて最適なメモリを選択してレプリケーションを行うといったよりフレキシビリティの高いインメモリ・コンピューティングの運用を行い、データの冗長化による信頼性とメモリの使用効率とを高めつつ、データの分散化による処理のリアルタイム性も高めることができる。 As described above in detail, according to the second embodiment, the striping factor SF is set in addition to the replication factor RF, and the memories 11 −1 , 11 −2 , and 11 -3 are used based on the two factors. The situation can change dynamically. This enables more flexible in-memory computing operations such as replication by selecting the most suitable memory according to the circumstances of the situation, and the reliability and memory usage efficiency due to data redundancy. While improving, the real time property of the process by data distribution can also be improved.
 なお、上記第2の実施形態では、ターンアラウンドタイムが所定時間を超えた場合にストライピングファクタSFを再設定する例について説明したが、本発明はこれに限定されない。例えば、メモリ選択部22’により選択されたメモリに対するデータの格納状況を検出する格納状況検出部を時間測定部26の代わりに備え、分散数設定部25が、格納状況検出部により検出されるデータの格納状況に応じてストライピングファクタSFを設定するようにしてもよい。 In the second embodiment, the example in which the striping factor SF is reset when the turnaround time exceeds a predetermined time has been described. However, the present invention is not limited to this. For example, a storage status detection unit that detects the storage status of data in the memory selected by the memory selection unit 22 ′ is provided instead of the time measurement unit 26, and the distribution number setting unit 25 detects the data detected by the storage status detection unit. The striping factor SF may be set in accordance with the storage status.
 具体的には、メモリ選択部22’により選択されたメモリに格納されるデータの容量が所定値を超えた場合にストライピングファクタSFを再設定するようにすることが可能である。または、メモリ選択部22’により選択されたメモリの全容量に対する実際の使用量の割合が所定値を超えた場合にストライピングファクタSFを再設定するようにしてもよい。 Specifically, it is possible to reset the striping factor SF when the capacity of data stored in the memory selected by the memory selection unit 22 ′ exceeds a predetermined value. Alternatively, the striping factor SF may be reset when the ratio of the actual usage amount to the total capacity of the memory selected by the memory selection unit 22 ′ exceeds a predetermined value.
 また、上記第2の実施形態では、ストライピングファクタSFを再設定したときに、その時点で各メモリ11-1,11-2,11-3に格納されているデータを新たな分散数に従って分割し直す例について説明したが、本発明はこれに限定されない。例えば、ストライピングファクタSFの値を1つ大きくした際に、何れか1つのメモリの格納されているデータを2分割し、一方の分割データをそれまでと同じメモリに格納し、他方の分割データを新たに選択したメモリに格納するようにしてもよい。 In the second embodiment, when the striping factor SF is reset, the data stored in the memories 11 -1 , 11 -2 , 11 -3 at that time is divided according to the new distribution number. Although the example to correct is demonstrated, this invention is not limited to this. For example, when the value of the striping factor SF is increased by 1, the data stored in any one of the memories is divided into two, one of the divided data is stored in the same memory as before, and the other divided data is stored. You may make it store in the newly selected memory.
 また、上記第2の実施形態では、冗長化のためのメモリの選択基準と、分散化のためのメモリの選択基準とを同じとする例について説明したが、異ならせてもよい。例えば、冗長化のために複数のメモリを選択する際には空き容量が大きい方から順に選択する一方、分散化のために複数のメモリを選択する際にはサーバ10-1,10-2,10-3のスペックが高い方あるいは健康度が高い方から順に選択するようにしてもよい。 In the second embodiment, the example in which the selection criterion for the memory for redundancy is the same as the selection criterion for the memory for distribution has been described, but it may be different. For example, when selecting a plurality of memories for redundancy, the memory 10 is selected in order from the larger free space, while when selecting a plurality of memories for distribution, the servers 10 -1 , 10 -2 , You may make it select in an order from the one with the high specification of 10-3 , or the one with the high health degree.
 また、上記第1の実施形態ではレプリケーションファクタRFのみを設定可能とし、上記第2の実施形態ではレプリケーションファクタRFおよびストライピングファクタSFの両方を設定可能とする例について説明したが、ストライピングファクタSFのみを設定可能としてもよい。図7は、この場合におけるコントローラ20”の機能構成例を示すブロック図である。なお、この図7において、図5に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。 In the first embodiment, only the replication factor RF can be set. In the second embodiment, both the replication factor RF and the striping factor SF can be set. However, only the striping factor SF is set. It may be settable. FIG. 7 is a block diagram showing an example of the functional configuration of the controller 20 ″ in this case. In FIG. 7, those given the same reference numerals as those shown in FIG. 5 have the same functions. Since there are, redundant description is omitted here.
 図7において、メモリ選択部22”は、複数のメモリ11-1,11-2,11-3の中から、分散数設定部25によりストライピングファクタSFとして設定された分散数のメモリを所定の選択基準に従って選択する。格納制御部23”は、メモリ選択部22”により選択されたメモリに対して、1つのデータを複数に分けて生成した複数の分割データをそれぞれ格納させるように制御する。 In FIG. 7, the memory selection unit 22 ″ selects a predetermined number of memories with the number of distributions set as the striping factor SF by the distribution number setting unit 25 from the plurality of memories 11 −1 , 11 −2 , and 11 −3. The storage control unit 23 ″ controls the memory selected by the memory selection unit 22 ″ to store a plurality of divided data generated by dividing one data into a plurality of data.
 なお、上記第1および第2の実施形態では、コントローラ20,20’,20”が端末30やサーバ10-1,10-2,10-3とは別体として設けられる例について説明したが、本発明はこれに限定されない。例えば、端末30がコントローラ20,20’,20”を内蔵していてもよい。あるいは、コントローラ20,20’,20”の機能の一部を端末30またはサーバ10-1,10-2,10-3に持たせるようにしてもよい。例えば、冗長性喪失検出部24の機能をサーバ10-1,10-2,10-3に持たせることが可能である。または、時間測定部26の機能を端末30に持たせることが可能である。 In the first and second embodiments, an example in which the controllers 20, 20 ′, 20 ″ are provided separately from the terminal 30 and the servers 10 −1 , 10 −2 , 10 −3 has been described. The present invention is not limited to this. For example, the terminal 30 may incorporate the controllers 20, 20 ′, 20 ″. Alternatively, a part of the functions of the controllers 20, 20 ′, 20 ″ may be provided to the terminal 30 or the servers 10 −1 , 10 −2 , 10 −3 . For example, the function of the redundancy loss detection unit 24 Can be provided to the servers 10 −1 , 10 −2 , 10 −3 , or the function of the time measuring unit 26 can be provided to the terminal 30.
 その他、上記第1および第2の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。 In addition, each of the first and second embodiments described above is merely an example of a specific example for carrying out the present invention, and the technical scope of the present invention should not be interpreted in a limited manner. It will not be. That is, the present invention can be implemented in various forms without departing from the gist or the main features thereof.
 10-1,10-2,10-3 サーバ
 11-1,11-2,11-3 メモリ
 20,20’,20” コントローラ
 21 冗長数設定部
 22,22’,22” メモリ選択部
 23,23’,23” 格納制御部
 24 冗長性喪失検出部
 25 分散数設定部
 26 時間測定部
 30 端末
 40 データベース
10 -1 , 10 -2 , 10 -3 Server 11 -1 , 11 -2 , 11 -3 Memory 20, 20 ', 20 "Controller 21 Redundancy number setting unit 22, 22', 22" Memory selection unit 23, 23 ', 23' Storage control unit 24 Redundancy loss detection unit 25 Distribution number setting unit 26 Time measurement unit 30 Terminal 40 Database

Claims (12)

  1.  複数のメモリに対して処理対象のデータを格納してインメモリデータベースを構築するインメモリ管理システムであって、
     同じデータを格納させるメモリの数である冗長数を設定する冗長数設定部と、
     上記複数のメモリの中から、上記冗長数設定部により設定された冗長数のメモリを所定の選択基準に従って選択するメモリ選択部と、
     上記メモリ選択部により選択されたメモリに対して上記同じデータを複製して格納させるように制御する格納制御部とを備えたことを特徴とするインメモリ管理システム。
    An in-memory management system that constructs an in-memory database by storing data to be processed in a plurality of memories,
    A redundancy number setting unit for setting a redundancy number that is the number of memories for storing the same data;
    A memory selection unit that selects a redundant number of memories set by the redundancy number setting unit from the plurality of memories according to a predetermined selection criterion;
    An in-memory management system, comprising: a storage control unit that controls to copy and store the same data in the memory selected by the memory selection unit.
  2.  上記メモリ選択部により選択されたメモリの動作状況を監視し、上記冗長数設定部により設定された冗長数を満たす冗長性が失われたことを検出する冗長性喪失検出部を更に備え、
     上記メモリ選択部は、上記冗長性喪失検出部により上記冗長性が失われたことが検出された場合、上記冗長数設定部により設定された冗長数に満たない数のメモリを上記所定の選択基準に従って再選択し、
     上記格納制御部は、上記メモリ選択部により再選択されたメモリに対して上記同じデータを複製して格納させるように制御することを特徴とする請求項1に記載のインメモリ管理システム。
    Further comprising a redundancy loss detection unit that monitors the operation status of the memory selected by the memory selection unit and detects that the redundancy satisfying the redundancy number set by the redundancy number setting unit is lost;
    When the redundancy loss detection unit detects that the redundancy has been lost, the memory selection unit sets the number of memories less than the redundancy number set by the redundancy number setting unit to the predetermined selection criterion. Reselect according to
    The in-memory management system according to claim 1, wherein the storage control unit performs control so that the same data is duplicated and stored in the memory reselected by the memory selection unit.
  3.  1つのデータを複数に分けて分散格納させるメモリの数である分散数を設定する分散数設定部を更に備え、
     上記メモリ選択部は、上記複数のメモリの中から、上記冗長数設定部により設定された冗長数のメモリを上記所定の選択基準に従って冗長化用に選択するとともに、上記分散数設定部により設定された分散数のメモリを上記所定の選択基準に従って分散化用に選択し、
     上記格納制御部は、上記メモリ選択部により上記分散化用に選択されたメモリに対して、1つのデータを複数に分けて生成した複数の分割データをそれぞれ格納させるとともに、上記複数の分割データと同じデータを複製して、上記メモリ選択部により上記冗長化用に選択されたメモリのうちオリジナルの分割データが格納されていない残りのメモリに対して上記複製した同じデータをそれぞれ格納させるように制御することを特徴とする請求項1または2に記載のインメモリ管理システム。
    A distribution number setting unit for setting a distribution number, which is the number of memories for distributing and storing one piece of data in a plurality;
    The memory selection unit selects a redundant number of memories set by the redundancy number setting unit from among the plurality of memories for redundancy according to the predetermined selection criterion, and is set by the distributed number setting unit. Select the number of distributed memory for distribution according to the predetermined selection criteria,
    The storage control unit stores a plurality of pieces of divided data generated by dividing one data into a plurality of pieces of data in the memory selected for the distribution by the memory selection unit, and the plurality of pieces of divided data and Control to copy the same data and store the same copied data in the remaining memories in which the original divided data is not stored among the memories selected for redundancy by the memory selection unit. The in-memory management system according to claim 1, wherein:
  4.  上記メモリ選択部により選択されたメモリに分散して格納された上記オリジナルの分割データに対して実行される処理のターンアラウンドタイムを測定する時間測定部を更に備え、
     上記分散数設定部は、上記時間測定部により測定される上記ターンアラウンドタイムが所定時間以内となるように上記分散数を設定することを特徴とする請求項3に記載のインメモリ管理システム。
    A time measurement unit for measuring a turnaround time of processing executed on the original divided data stored in a distributed manner in the memory selected by the memory selection unit;
    4. The in-memory management system according to claim 3, wherein the distribution number setting unit sets the distribution number so that the turnaround time measured by the time measurement unit is within a predetermined time.
  5.  上記メモリ選択部により選択されたメモリに対するデータの格納状況を検出する格納状況検出部を更に備え、
     上記分散数設定部は、上記格納状況検出部により検出される上記メモリに対するデータの格納状況に応じて上記分散数を設定することを特徴とする請求項3に記載のインメモリ管理システム。
    A storage state detection unit for detecting a storage state of data in the memory selected by the memory selection unit;
    The in-memory management system according to claim 3, wherein the distribution number setting unit sets the distribution number according to a storage state of data in the memory detected by the storage state detection unit.
  6.  複数のメモリに対して処理対象のデータを格納してインメモリデータベースを構築するインメモリ管理システムであって、
     1つのデータを複数に分けて分散格納させるメモリの数である分散数を設定する分散数設定部と、
     上記複数のメモリの中から、上記分散数設定部により設定された分散数のメモリを所定の選択基準に従って選択するメモリ選択部と、
     上記メモリ選択部により選択されたメモリに対して、1つのデータを複数に分けて生成した複数の分割データをそれぞれ格納させるように制御する格納制御部と、
     上記メモリ選択部により選択されたメモリに分散して格納された上記分割データに対して実行される処理のターンアラウンドタイムを測定する時間測定部とを備え、
     上記分散数設定部は、上記時間測定部により測定される上記ターンアラウンドタイムが所定時間以内となるように上記分散数を設定することを特徴とするインメモリ管理システム。
    An in-memory management system that constructs an in-memory database by storing data to be processed in a plurality of memories,
    A distribution number setting unit for setting a distribution number, which is the number of memories for distributing and storing one data in a plurality of ways;
    A memory selection unit that selects a memory having a distribution number set by the distribution number setting unit from the plurality of memories according to a predetermined selection criterion;
    A storage control unit that controls the memory selected by the memory selection unit to store a plurality of pieces of divided data generated by dividing one data into a plurality of pieces;
    A time measuring unit for measuring a turnaround time of processing executed on the divided data stored in a distributed manner in the memory selected by the memory selecting unit;
    The in-memory management system, wherein the dispersion number setting unit sets the dispersion number so that the turnaround time measured by the time measurement unit is within a predetermined time.
  7.  複数のメモリに対するデータの読み書きを制御するためのインメモリ管理用プログラムであって、
     同じデータを格納させるメモリの数である冗長数を設定する冗長数設定手段、
     上記複数のメモリの中から、上記冗長数設定手段により設定された冗長数のメモリを所定の選択基準に従って選択するメモリ選択手段、および
     上記メモリ選択手段により選択されたメモリに対して上記同じデータを複製して格納させるように制御する格納制御手段
    としてコンピュータを機能させるためのインメモリ管理用プログラム。
    An in-memory management program for controlling reading and writing of data to and from a plurality of memories,
    Redundant number setting means for setting a redundant number that is the number of memories for storing the same data;
    A memory selection unit that selects a redundant number of memories set by the redundancy number setting unit from the plurality of memories according to a predetermined selection criterion, and the same data for the memory selected by the memory selection unit. An in-memory management program for causing a computer to function as storage control means for controlling to copy and store.
  8.  上記メモリ選択手段により選択されたメモリの動作状況を監視し、上記冗長数設定手段により設定された冗長数を満たす冗長性が失われたことを検出する冗長性喪失検出手段を更に備え、
     上記メモリ選択手段は、上記冗長性喪失検出手段により上記冗長性が失われたことが検出された場合、上記冗長数設定手段により設定された冗長数に満たない数のメモリを上記所定の選択基準に従って再選択し、
     上記格納制御手段は、上記メモリ選択手段により再選択されたメモリに対して上記同じデータを複製して格納させるように制御することを特徴とする請求項7に記載のインメモリ管理用プログラム。
    It further comprises redundancy loss detection means for monitoring the operation status of the memory selected by the memory selection means and detecting that the redundancy satisfying the redundancy number set by the redundancy number setting means is lost,
    When the redundancy loss detection means detects that the redundancy has been lost, the memory selection means determines the number of memories less than the redundancy number set by the redundancy number setting means as the predetermined selection criterion. Reselect according to
    8. The in-memory management program according to claim 7, wherein the storage control unit performs control so that the same data is duplicated and stored in the memory reselected by the memory selection unit.
  9.  1つのデータを複数に分けて分散格納させるメモリの数である分散数を設定する分散数設定手段を更に備え、
     上記メモリ選択手段は、上記複数のメモリの中から、上記冗長数設定手段により設定された冗長数のメモリを上記所定の選択基準に従って冗長化用に選択するとともに、上記分散数設定手段により設定された分散数のメモリを上記所定の選択基準に従って分散化用に選択し、
     上記格納制御手段は、上記メモリ選択手段により上記分散化用に選択されたメモリに対して、1つのデータを複数に分けて生成した複数の分割データをそれぞれ格納させるとともに、上記複数の分割データと同じデータを複製して、上記メモリ選択手段により上記冗長化用に選択されたメモリのうちオリジナルの分割データが格納されていない残りのメモリに対して上記複製した同じデータをそれぞれ格納させるように制御することを特徴とするとを特徴とする請求項7または8に記載のインメモリ管理用プログラム。
    A distribution number setting means for setting a distribution number, which is the number of memories for distributing and storing one piece of data in a plurality;
    The memory selection means selects, from among the plurality of memories, a redundant number of memories set by the redundancy number setting means for redundancy according to the predetermined selection criteria, and is set by the distributed number setting means. Select the number of distributed memory for distribution according to the predetermined selection criteria,
    The storage control unit stores a plurality of pieces of divided data generated by dividing one data into a plurality of pieces in the memory selected for the distribution by the memory selection unit, and the plurality of pieces of divided data and Control to copy the same data and store the duplicated same data in the remaining memories that do not store the original divided data among the memories selected for redundancy by the memory selection means The in-memory management program according to claim 7 or 8, wherein
  10.  上記メモリ選択手段により選択されたメモリに分散して格納された上記オリジナルの分割データに対して実行される処理のターンアラウンドタイムを測定する時間測定手段を更に備え、
     上記分散数設定手段は、上記時間測定手段により測定される上記ターンアラウンドタイムが所定時間以内となるように上記分散数を設定することを特徴とする請求項9に記載のインメモリ管理用プログラム。
    A time measuring means for measuring a turnaround time of a process executed on the original divided data stored in a distributed manner in the memory selected by the memory selecting means;
    The in-memory management program according to claim 9, wherein the distributed number setting means sets the distributed number so that the turnaround time measured by the time measuring means is within a predetermined time.
  11.  上記メモリ選択手段により選択されたメモリに対するデータの格納状況を検出する格納状況検出手段を更に備え、
     上記分散数設定手段は、上記格納状況検出手段により検出される上記メモリに対するデータの格納状況に応じて上記分散数を設定することを特徴とする請求項9に記載のインメモリ管理用プログラム。
    A storage status detection unit for detecting a storage status of data in the memory selected by the memory selection unit;
    10. The in-memory management program according to claim 9, wherein the distribution number setting unit sets the distribution number in accordance with a storage state of data in the memory detected by the storage state detection unit.
  12.  複数のメモリに対するデータの読み書きを制御するためのインメモリ管理用プログラムであって、
     1つのデータを複数に分けて分散格納させるメモリの数である分散数を設定する分散数設定手段、
     上記複数のメモリの中から、上記分散数設定手段により設定された分散数のメモリを所定の選択基準に従って選択するメモリ選択手段、
     上記メモリ選択手段により選択されたメモリに対して、1つのデータを複数に分けて生成した複数の分割データをそれぞれ格納させるように制御する格納制御手段、および
     上記メモリ選択手段により選択されたメモリに分散して格納された上記分割データに対して実行される処理のターンアラウンドタイムを測定する時間測定手段
    としてコンピュータを機能させるようになされ、
     上記分散数設定手段は、上記時間測定手段により測定される上記ターンアラウンドタイムが所定時間以内となるように上記分散数を設定することを特徴とするインメモリ管理用プログラム。
    An in-memory management program for controlling reading and writing of data to and from a plurality of memories,
    A distributed number setting means for setting a distributed number, which is the number of memories for distributing and storing one data in a plurality;
    A memory selection unit that selects a memory having a number of distributions set by the distribution number setting unit from the plurality of memories according to a predetermined selection criterion;
    Storage control means for controlling the memory selected by the memory selection means to store a plurality of divided data generated by dividing one data into a plurality of data, and a memory selected by the memory selection means The computer is made to function as a time measuring means for measuring the turnaround time of processing executed on the divided data stored in a distributed manner,
    The in-memory management program, wherein the distributed number setting means sets the distributed number so that the turnaround time measured by the time measuring means is within a predetermined time.
PCT/JP2015/058198 2014-05-01 2015-03-19 In-memory management system and in-memory management program WO2015166741A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-094594 2014-05-01
JP2014094594A JP5941494B2 (en) 2014-05-01 2014-05-01 In-memory management system and in-memory management program

Publications (1)

Publication Number Publication Date
WO2015166741A1 true WO2015166741A1 (en) 2015-11-05

Family

ID=54358480

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/058198 WO2015166741A1 (en) 2014-05-01 2015-03-19 In-memory management system and in-memory management program

Country Status (2)

Country Link
JP (1) JP5941494B2 (en)
WO (1) WO2015166741A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6485343B2 (en) * 2015-12-22 2019-03-20 富士通株式会社 Control program, control device, and control method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005215735A (en) * 2004-01-27 2005-08-11 Hitachi Ltd File input and output control device
JP2008304982A (en) * 2007-06-05 2008-12-18 Konica Minolta Holdings Inc Information management method and information processor
JP2010146067A (en) * 2008-12-16 2010-07-01 Fujitsu Ltd Data processing program, server apparatus, and data processing method
JP2010224845A (en) * 2009-03-24 2010-10-07 Nec Corp Storage device
JP2011232926A (en) * 2010-04-27 2011-11-17 Nec Corp Distribution database system, deadlock notification method and deadlock notification program
JP2012238133A (en) * 2011-05-11 2012-12-06 Dainippon Printing Co Ltd Data storage system
JP2013182546A (en) * 2012-03-05 2013-09-12 Nippon Telegr & Teleph Corp <Ntt> Management device and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005215735A (en) * 2004-01-27 2005-08-11 Hitachi Ltd File input and output control device
JP2008304982A (en) * 2007-06-05 2008-12-18 Konica Minolta Holdings Inc Information management method and information processor
JP2010146067A (en) * 2008-12-16 2010-07-01 Fujitsu Ltd Data processing program, server apparatus, and data processing method
JP2010224845A (en) * 2009-03-24 2010-10-07 Nec Corp Storage device
JP2011232926A (en) * 2010-04-27 2011-11-17 Nec Corp Distribution database system, deadlock notification method and deadlock notification program
JP2012238133A (en) * 2011-05-11 2012-12-06 Dainippon Printing Co Ltd Data storage system
JP2013182546A (en) * 2012-03-05 2013-09-12 Nippon Telegr & Teleph Corp <Ntt> Management device and program

Also Published As

Publication number Publication date
JP2015212855A (en) 2015-11-26
JP5941494B2 (en) 2016-06-29

Similar Documents

Publication Publication Date Title
US10642704B2 (en) Storage controller failover system
DK3179359T3 (en) PROCEDURE FOR SENDING DATA, PROCEDURE FOR RECEIVING DATA AND STORAGE UNIT
US9489270B2 (en) Managing backup operations from a client system to a primary server and secondary server
JP2019101703A (en) Storage system and control software arrangement method
US8676750B2 (en) Efficient data synchronization in a distributed data recovery system
JP6850771B2 (en) Information processing system, information processing system management method and program
JP5286212B2 (en) Remote copy control method and system in storage cluster environment
US20100306488A1 (en) Performing mirroring of a logical storage unit
WO2015097751A1 (en) Storage system that backs up data in non-volatile cache memory
US11128535B2 (en) Computer system and data management method
US20170139605A1 (en) Control device and control method
JP5949408B2 (en) Information processing apparatus, information processing apparatus control method, and information processing apparatus control program
JP2008250458A (en) Storage system, and method for managing storage system
JP2013069096A (en) Controller, control method, and storage device
US7496724B2 (en) Load balancing in a mirrored storage system
JP2015022755A (en) Fault tolerant monitoring device, method and system
US20160036653A1 (en) Method and apparatus for avoiding performance decrease in high availability configuration
JP5712535B2 (en) Storage device, control unit, and storage device control method
JP5941494B2 (en) In-memory management system and in-memory management program
JP2009104369A (en) Disk sub-system
JP2014038551A (en) Data storage device, method for controlling data storage device, and control program of data storage device
US10089202B1 (en) Providing data high availability to a set of host computers via automatic failover
US9582384B2 (en) Method and system for data replication
WO2017077583A1 (en) Information system including storage system, and performance deterioration prediction method for storage system
JP6556980B2 (en) Storage control device, storage control method, and storage control program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15785838

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15785838

Country of ref document: EP

Kind code of ref document: A1