WO2013046352A1 - 計算機システム、データ管理方法及びデータ管理プログラム - Google Patents
計算機システム、データ管理方法及びデータ管理プログラム Download PDFInfo
- Publication number
- WO2013046352A1 WO2013046352A1 PCT/JP2011/072164 JP2011072164W WO2013046352A1 WO 2013046352 A1 WO2013046352 A1 WO 2013046352A1 JP 2011072164 W JP2011072164 W JP 2011072164W WO 2013046352 A1 WO2013046352 A1 WO 2013046352A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- computer
- network
- replication
- computer system
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Definitions
- the present invention relates to a distributed database composed of a plurality of computers.
- the present invention relates to replication processing of distributed data.
- a volatile storage medium that can access data at high speed for example, a configuration in which data is stored in a memory, a non-volatile recording medium that is excellent in data storage durability, such as SSD (Solid State Disk), Various configurations such as a configuration for storing data in an HDD or the like and a configuration for using these in combination are employed.
- a memory store configured by virtually integrating the memories of a plurality of computers and a nonvolatile storage medium of one or more computers according to various operation policies such as emphasis on high-speed accessibility and storage It is possible to change the balance of the disk store composed of
- the memory store and the disk store store data in which data (value) and data identifier (key) are paired.
- parallel processing is realized by configuring a cluster from a plurality of servers and distributing and arranging data on the servers included in the cluster. Specifically, data is stored in each server for each key range. Each server executes processing as a master of data included in the key range in charge. That is, in response to a read request including a predetermined key, a server in charge of data in a key range including the key reads data corresponding to the key.
- the cluster has a configuration in which servers are connected in a ring shape, and each server is assigned a unique identification number.
- various methods such as a consistent hashing method, a range method, and a list method are used.
- the consistent hashing method will be described.
- a hash value for a key is calculated, and a remainder obtained by dividing the calculated hash value by the number of servers is calculated.
- Data is arranged in a server whose remainder matches the server identification number.
- KVS is known to adopt a configuration in which replicated data of data managed by other servers is stored in the servers constituting the cluster. That is, each server is a master that manages data included in a predetermined key range, and at the same time is a slave that holds duplicate data of data managed by other servers. As a result, even if a server fails, the data managed by the failed server becomes the master when the other server that is the slave upgrades the replicated data that it holds, and the process Can continue.
- the master server is referred to as a master server
- the slave server is also referred to as a slave server.
- KVS also ensures fault tolerance.
- slave servers that is, the number of servers serving as storage destinations of replicated data can be arbitrarily set by the computer system.
- Replication processing for storing replicated data on a slave server is expensive. In other words, in order to ensure the reliability of data, if waiting for the replication data to be stored in all the slave servers, processing wait time occurs, and it is not possible to realize high-speed processing for the request. Therefore, it is recommended that the replication process be executed asynchronously with requests such as data read processing.
- the first method is as follows.
- the master server stores data in a memory store or a disk store.
- the master server notifies the client or the like of the storage processing request destination of the completion of the replication processing (without making a replication processing request to the slave server).
- the slave server is requested to replicate the data requested to be written (asynchronous replication process).
- the request can be processed at high speed, but the reliability of the data is low because the process of storing the replicated data in the slave server is not completed.
- the second method is as follows.
- the master server stores data in a memory store or a disk store.
- the master server transmits replicated data to one slave server.
- the master server receives a copy data storage processing completion notification from one slave server, the master server notifies the requesting computer of the completion of the replication processing (synchronous replication processing).
- the second method since the replicated data is stored in one slave server, the data reliability is higher than that in the first method. However, since the process waits for a response from the slave server, the processing performance for the request is lower than that of the first method. In the second method, there is a risk that data is lost when a double failure occurs.
- the third method is as follows.
- the master server stores the data in the memory store or the disk store.
- the master server transmits replicated data to all slave servers.
- the master server receives the completion notification of the replication data storage process from all the slave servers, the master server notifies the request destination computer of the completion of the replication process (synchronous replication process).
- the master server since the replicated data is stored in all the slave servers, the data reliability is highest. However, since it waits for responses from all slave servers, the processability for requests is the lowest.
- Patent Document 1 Various methods are conceivable as a method for achieving both data reliability and high-speed request processing (see, for example, Patent Document 1).
- a freshness threshold is set for a child node that replicates data of a root node, an update period is determined based on the freshness threshold, and data of each child node is updated.
- Patent Document 1 includes a process of waiting for a response from the node, and thus cannot increase the processing speed.
- the present invention can determine the completion of replication processing without communicating with a slave server in a computer system in which a plurality of servers are connected via a network, and can achieve both data reliability and high-speed request processing.
- An object is to provide a computer system having a NoSQL (Not only SQL) database and a data management method.
- a typical example of the invention disclosed in the present application is as follows. That is, a computer system in which a plurality of computers are connected via a network, and a business is executed using a database constructed from a storage area of each of the computers, and each of the computers is connected to a processor and the processor And a network interface for communicating with the other computer via the network, wherein the computer system manages a data set including a plurality of data.
- the first computer stores duplicate data of data included in a data set managed by the other computer, and the first computer receives a new storage request for the first data
- the first data is stored in the memory, and the first data is duplicated to generate first duplicated data.
- Transmitting the generated first duplicated data to the other computer determining whether the first duplicated data has been transmitted to the network, and determining that the first duplicated data has been transmitted to the network. In this case, the job is executed using the first data.
- the computer when the computer detects that the replicated data is transmitted to the network, the computer can execute the business using the stored data. That is, since the business can be executed without waiting for the completion of storing the replicated data in another computer, the replication process can be completed at high speed. Further, by detecting that duplicate data has been transmitted to the network, it is guaranteed that a plurality of identical data exists in the computer and the network, and the reliability of the data can be improved.
- FIG. 1 is a block diagram showing a configuration of a computer system according to the first embodiment of the present invention.
- the computer system includes a plurality of servers 100, a client device 200, and a network 300.
- the servers 100 or the server 100 and the client device 200 are connected to each other via the network 300.
- the network 300 may have various wired / wireless configurations such as LAN, WAN, and SAN.
- the present embodiment may be any network as long as the servers 100a, 100b, and 100n and the client device 200 can communicate with each other.
- the network 300 includes a plurality of network devices (not shown).
- the network device includes, for example, a switch and a gateway.
- a cluster is configured from a plurality of servers 100, and a NoSQL database is constructed on a storage area included in the servers 100.
- KVS is used as the NoSQL database.
- Servers 100a, 100b, and 100n are computers constituting KVS. Various processes are executed in accordance with requests from the client device 200. Note that the servers 100a, 100b, and 100n have the same configuration.
- the server 100a is arranged with data to be managed for each key range, and operates as a master server for managing data included in a predetermined key range.
- the server 100a holds duplicate data of data included in the key range managed by the other server 100b and / or the server 100n, and operates as a slave server.
- each of the servers 100b and 100n functions as a master server that manages data included in its own key range, and holds a copy of data included in the key range of another server.
- the cluster of this embodiment does not have a single server serving as a management server for managing the entire computer system, and adopts a configuration in which all servers 100a, 100b, and 100n are handled as equivalent servers.
- the master server is the server 100a and the slave servers are the servers 100b and 100n will be described for the sake of simplicity.
- the server 100a includes a data management unit 110, a disk store 120, a memory store 130, and a replication control unit 140.
- the data management unit 110 controls various processes for data managed by the server 100a.
- the data management unit 110 receives a request from the client device 200 and controls processing such as data reading and writing based on the request.
- “writing” may be “overwriting” of data.
- write and “overwrite” may be collectively referred to as “store”.
- the disk store 120 and the memory store 130 are NoSQL databases constituting the KVS.
- the disk store 120 is a database configured on a storage medium such as an HDD.
- the memory store 130 is a database configured on a storage medium such as a memory.
- the disk store 120 and the memory store 130 store data of the same format.
- the data format stored in the disk store 120 and the memory store 130 will be described later with reference to FIG.
- the replication control unit 140 controls replication processing (replication) for storing the data stored in the server 100a in the other servers 100b and n.
- the replication control unit 140 includes a data transmission unit 150, a delivery confirmation unit 160, and a replication management table 170A.
- the data transmission unit 150 transmits the replicated data to the servers 100b and n which are slave servers.
- the data transmission unit 150 transmits replicated data using broadcast notification (multicast communication).
- data is transmitted to all servers belonging to a predetermined group by transmitting the data to a multicast address assigned to the predetermined group.
- the present invention is not limited to a protocol for realizing broadcast notification.
- the delivery confirmation unit 160 determines whether or not the replication process has been completed.
- the replication management table 170A stores information for the delivery confirmation unit 160 to manage replication processing of replicated data. Details of the replication management table 170A will be described later with reference to FIG.
- the client device 200 is a computer including a processor (not shown), a memory (not shown), a network interface (not shown), and the like, and requests execution of various processes for the KVS.
- the client device 200 includes a UAP 210 and a data transmission / reception unit 220.
- the UAP 210 is an application that provides various functions, and requests for various processes are transmitted to the server 100 by the UAP 210.
- the data transmission / reception unit 220 transmits the request output from the UAP 210 to the server 100a and receives the processing result from the server 100a.
- FIG. 1 there is one client device 200, but there may be a plurality of client devices 200.
- FIG. 2 is a block diagram illustrating the hardware configuration of the server 100a according to the first embodiment of the present invention.
- the server 100a includes a processor 410, a main storage device 420, a secondary storage device 430, and a network interface 440, and each component is connected by an internal bus 450 or the like.
- the processor 410 executes a program stored in the main storage device 420.
- the functions of the server 100 can be realized by the processor 410 executing the program.
- the processor 410 indicates that the program is being executed.
- the main storage device 420 stores a program executed by the processor 410 and information necessary for executing the program.
- the main storage device 420 may be a memory, for example.
- a data management unit 110, a memory store 130, and a replication control unit 140 are constructed on the main storage device 420 of the present embodiment.
- the data management unit 110 and the replication control unit 140 are described as programs, but the same function may be realized using dedicated hardware.
- Secondary storage device 430 stores various types of information.
- the secondary storage device 430 may be, for example, an HDD or an SSD.
- the disk store 120 is constructed on the secondary storage device 430 of this embodiment.
- the network interface 440 is an interface for connecting to the network 300.
- the client device 200 includes the same configuration. That is, the client device 200 includes a processor (not shown), a main storage device (not shown), a secondary storage device (not shown), and a network interface (not shown). Further, the client device 200 may include input / output devices (not shown) such as a keyboard and a display.
- FIG. 3 is an explanatory diagram showing a format of data stored in the disk store 120 and the memory store 130 in the first embodiment of the present invention.
- the data management information 500 is stored in the disk store 120 and the memory store 130.
- the data management information 500 includes a plurality of data in which a key and a value are paired.
- data in which a key and a value are paired is also referred to as key-value type data.
- the data management information 500 includes Key 501 and Value 502.
- Key 501 stores an identifier (key) for identifying data.
- Value 502 stores actual data (value).
- the user who operates the client device 200 can specify the Key 501 and save the data in the KVS, and can also specify the Key 501 and acquire desired data from the KVS.
- Each server 100a or the like manages key-value data for each predetermined key 501 range (key range). That is, key value type data is distributed and arranged in each server for each key range.
- the server 100a and the like execute processing as a master server for data in the designated key range. As a result, a large amount of data can be processed in parallel and at high speed.
- each server 100 holds duplicate data of key-value type data managed by other servers 100. That is, the server 100 is a slave server of the other server 100. Thus, even if a failure occurs in the master server 100, the slave server 100 can continue the process as a new master server 100.
- FIG. 4 is an explanatory diagram illustrating an example of the replication management table 170A according to the first embodiment of this invention.
- the replication management table 170A includes ID 601, Key 602, and Value 603.
- ID 601 stores an identifier for identifying a request transmitted from the client device 200. Based on the ID 601, the replication control unit 140 can grasp which storage request is being replicated.
- Key 602 stores key information for identifying data.
- Value 603 stores data to be written.
- Key 602 and Value 603 are the same as Key 501 and Value 502, respectively.
- FIG. 5 is a flowchart illustrating processing executed by the server 100a according to the first embodiment of this invention.
- the server 100a receives a data storage request from the client device 200 (step S701). Specifically, the data management unit 110 receives a storage request from the client device 200.
- the storage request includes a key and data.
- the server 100a stores the key value type data in which the key and data included in the storage request are combined into the memory store 130 (step S702). Specifically, the data management unit 110 stores key-value type data in the memory store 130.
- the server 100a executes a copy process for the stored key-value data (step S703). Specifically, the following processing is executed.
- the data management unit 110 calls the replication control unit 140 to instruct execution of the replication process.
- the called copy control unit 140 generates copy data of the stored key value type data.
- the replication control unit 140 transmits the generated replication data to the slave server 100 using a broadcast notification. Further, the replication control unit 140 determines whether the storage of the replicated data is complete. That is, it is determined whether or not the replication process is completed.
- the server 100 notifies the client device 200 of the result of the storage request (step S704) and ends the process.
- the master server 100a has notified the client device 200 of the result of the storage request after receiving the notification of the completion of the storage of the replicated data from the slave server 100b or 100n, so that a delay has occurred. . Therefore, the computer system cannot execute the business using the stored key-value type data until the slave server 100b or 100n notifies the completion of storage of the replicated data. That is, after the storing process, the writing process, the reading process, the updating process, and the like for the key value type data stored in the master server 100a cannot be executed.
- This embodiment is characterized in that the master server 100a can notify the result of the storage request without receiving a response from the slave server 100b or 100n. That is, the master server 100a determines that the replication process has been completed even if there is no response from the slave server 100b or 100n.
- the writing process, the reading process, the updating process, and the like for the key-value data stored in the master server 100a can be executed earlier by that amount. That is, the master server 100a can accept processing for stored key-value data.
- replicated data is transmitted to a plurality of slave servers 100 using broadcast notification in order to ensure data reliability.
- the master server 100a determines that the duplication process has been completed.
- the master server 100 periodically checks the state of the network 300, and determines that the replication process has been completed when the state of the network 300 is normal.
- FIG. 6 is a flowchart illustrating processing executed by the replication control unit 140 according to the first embodiment of this invention.
- FIG. 6 shows a replication process to which the first method is applied.
- the replication control unit 140 When the replication control unit 140 is called from the data management unit 110, the replication control unit 140 generates replication data of the stored key-value type data (step S801).
- the replication control unit 140 transmits the replication data generated using the broadcast notification to each slave server 100b and / or 100n, and ends the process (step S802). Specifically, the data transmission unit 150 transmits duplicate data to the multicast address.
- the replication control unit 140 determines that the replication processing has been completed.
- the first method there is no need to receive a replication processing completion response from the slave server 100b and / or 100n, so that there is no delay in business processing. Even if a failure occurs in the master server 100a, the replicated data is output to the network 300 before that, so that the slave servers 100b and 100n that have received the replicated data can continue the business process. That is, the reliability of data can be ensured by the presence of a plurality of identical data at different points in the computer system.
- the replication process is completed by transmitting (outputting) the replicated data to the network 300. Therefore, the reliability of data can be expected to be improved as compared with the conventional asynchronous replication process.
- FIG. 7 is a flowchart illustrating processing executed by the replication control unit 140 according to the first embodiment of this invention.
- FIG. 7 shows a replication process to which the second method is applied.
- the replication control unit 140 When called from the data management unit 110, the replication control unit 140 generates replication data of the stored key-value data (step S901), and registers an entry related to the replication data in the replication management table 170A (step S902).
- the replication control unit 140 transmits the replication data generated using the broadcast notification (step S903). Specifically, the data transmission unit 150 transmits duplicate data to the multicast address.
- the replication control unit 140 determines whether or not the broadcast notification including the replication data transmitted from the data transmission unit 150 is received from the network device included in the network 300 (step S904). Specifically, the delivery confirmation unit 160 receives a broadcast notification including duplicate data from a network device included in the network 300 within a predetermined time, and corresponds to the ID 601 (FIG. 4) included in the broadcast notification. It is determined whether the entry is registered in the replication management table 170A.
- the delivery confirmation unit 160 When the delivery confirmation unit 160 receives a broadcast notification including duplicate data from the network device within a certain time, it indicates that the state of the network 300 is normal. As a result, it can be assured that the replicated data is transmitted to the slave server 100 via the network 300 in a normal state.
- the delivery confirmation unit 160 cannot receive the broadcast notification including the replicated data from the network device within a certain time, it indicates that some kind of failure has occurred in the network 300. Therefore, there is a high possibility that duplicate data has not been transmitted to the slave server 100.
- the time to wait for packet reception is set in advance. However, it can be changed at any time.
- the waiting time is preferably set to a time shorter than the time for receiving a replication processing completion response from the slave server 100b and / or 100n, for example.
- the replication control unit 140 notifies the data management unit 110 that the replication process has been successful (step S905), and the process ends. That is, it is determined that the replication process has been completed.
- the replication control unit 140 If the broadcast notification including the replicated data cannot be received within a certain time, the replication control unit 140 notifies the data management unit 110 that the replication process has failed (step S906). Further, the replication control unit 140 stores the data stored in the memory store 130 in the disk store 120 (step S907), and ends the process.
- the data transmission unit 150 prevents the replication data from being transmitted (looped back) to itself when transmitting the replication data using the broadcast notification.
- the notification may be controlled to be excluded. For example, by referring to the destination address included in the notification, it can be determined whether the notification is a loopback notification.
- the reason for controlling as described above is to always receive a broadcast notification from a network device included in the network 300. That is, this is to prevent the delivery confirmation unit 160 from erroneously recognizing the notification transmitted to itself by the loopback as a broadcast notification received from the network 300.
- the corresponding entry may be deleted from the replication management table 170A.
- the delivery confirmation unit 160 analyzes the received packet, acquires the key and value of the duplicate data, and searches for an entry that matches the key and value obtained with reference to the duplicate management table 170A. .
- the delivery confirmation unit 160 deletes the matched entry from the replication management table 170A.
- the processing speed is higher than in the case of receiving a response such as the completion of the replication process from the slave servers 100b and / or 100n. Can be realized. That is, the request processing speed is improved as compared with the case of using the replication processing by synchronization as in the prior art. Further, in the second method, by confirming the state of the network 300, it can be ensured that the replicated data is reliably transmitted through the network 300 in a normal state. Therefore, data reliability is improved over the first method.
- FIG. 8 is a flowchart illustrating processing executed by the replication control unit 140 according to the first embodiment of this invention.
- FIG. 8 shows a replication process to which the third method is applied.
- the replication control unit 140 When called from the data management unit 110, the replication control unit 140 generates replication data of stored key-value type data (step S1001).
- the replication control unit 140 transmits the replication data generated using the broadcast notification (step S1002). Specifically, the data transmission unit 150 transmits duplicate data to the multicast address.
- the replication control unit 140 transmits a predetermined packet to the slave servers 100b and 100n (step S1003), and determines whether a response to the packet has been received (step S1004). Specifically, the delivery confirmation unit 160 periodically executes a Ping command, transmits ICMP packets to the slave servers 100b and 100n, and waits for a response to the packets.
- step S1003 may be executed as a process independent of the replication process. That is, the delivery confirmation unit 160 may periodically confirm the communication state with the slave servers 100b and 100n and refer to the confirmation result of the communication state when executing the replication process.
- the cycle of the communication status confirmation process is set in advance. However, it can be changed to an arbitrary cycle.
- the duplication control unit 140 notifies the data management unit 110 that the duplication processing has been successful (step S1005), and ends the processing. That is, it is determined that the replication process has been completed.
- the replication control unit 140 If the response of the predetermined packet cannot be received, the replication control unit 140 notifies the data management unit 110 that the replication process has failed (step S1006). Further, the replication control unit 140 stores the data stored in the memory store 130 in the disk store 120 (step S1007), and ends the process.
- the completion of the replication process is determined based on the communication state with the slave server 100.
- the response to the packet used for the communication status confirmation method is faster than the notification of the completion of storing the duplicate data, the processing speed is improved over the conventional second method.
- the reliability of data is improved as compared with the second method.
- the present invention is not limited to this.
- the master server 100a sends a Ping to the slave server 100b or the like before (for example, immediately before) the broadcast notification and the response result indicates normality
- the delivery management unit 160 replicates to the data management unit 110.
- the success of the process may be notified, and at the same time or later, the broadcast notification of the replicated data may be performed.
- the data size of the duplicate data is larger than the data size of the ICMP packet used for Ping, the transmission load is reduced correspondingly, and further improvement in data reliability and request processing performance can be expected.
- duplicate data is transmitted by broadcast notification, but the present invention is not limited to this.
- unicast communication may be used.
- the master server 100 since the master server 100 determines whether or not the replication process is successful based on the state of the network 300, the master server 100 can perform processing faster than the conventional replication process. Therefore, the processing performance can be improved as compared with the conventional computer system, and the reliability of the data can be ensured.
- the second embodiment is different in that the status of the network is confirmed by confirming the status of services and processes operating on the network.
- the difference from the first embodiment will be mainly described.
- FIG. 9 is a block diagram showing a configuration of a computer system according to the second embodiment of the present invention.
- the computer system in the second embodiment newly includes an NTP server 1100.
- An NTP server process 1200 is running on the server 100.
- Other configurations are the same as those of the first embodiment.
- the NTP server 1100 executes a process for synchronizing the times of computers connected to the network 300. Note that the processing executed by the NTP server 1100 is a well-known technique, and a description thereof will be omitted. Further, since the NTP server 1100 has the same physical configuration as the server 100a and the like, description thereof is omitted.
- the NTP server process 1200 is a process for synchronizing with the time managed by the NTP server 1100.
- FIG. 10 is a flowchart for describing processing executed by the replication control unit 140 according to the second embodiment of the present invention.
- the replication control unit 140 When the replication control unit 140 is called from the data management unit 110, the replication control unit 140 generates replication data of the stored key-value type data (step S1301).
- the replication control unit 140 transmits the replication data generated using the broadcast notification (step S1302). Specifically, the data transmission unit 150 transmits duplicate data to the multicast address.
- the replication control unit 140 checks the operating state of the NTP server process 1200 (step S1303) and determines whether the NTP server process 1200 is operating normally (step S1304). Specifically, the delivery confirmation unit 160 periodically confirms the operating state of the NTP server process 1200.
- step S1303 may be a process independent of the replication process. That is, the delivery confirmation unit 160 may periodically check the operating state of the NTP server process 1200 and refer to the confirmation result when executing the replication process. When an abnormality occurs in the communication with the NTP server 1100, a failure occurs in the NTP server process 1200, so that an abnormality in the network 300 can be detected.
- the processing cycle for confirming the operation state of the process is set in advance. However, it can be changed to an arbitrary cycle.
- the NTP server process 1200 When the NTP server process 1200 is operating normally, it indicates that the state of the network 300 is normal. As a result, it can be ensured that the replicated data is transmitted to the slave server 100 via the network 300 in a normal state.
- the replication control unit 140 notifies the data management unit 110 that the replication process has been successful (step S1305), and ends the process.
- the replication control unit 140 notifies the data management unit 110 that the replication process has failed (step S1306). Further, the replication control unit 140 stores the data stored in the memory store 130 in the disk store 120 (step S1307), and ends the process.
- the state of the network 300 is confirmed using the NTP server 1100, but the present invention is not limited to this. In other words, any service provided via the network 300 can be applied.
- the master server 100a determines the state of the network 300 based on a process operating on the network, it is not necessary to acquire information directly from the network 300, so that processing can be performed at high speed. Become. Therefore, the performance can be improved over the conventional computer system.
- the server 100a executes a process for retransmitting replicated data.
- the retransmission process is a process that is executed after the replication process is completed, and does not affect the delay of the replication process. That is, the retransmission process is executed as a process independent of the duplication process.
- the difference from the first embodiment will be mainly described.
- FIG. 11 is a block diagram showing a configuration of a computer system according to the third embodiment of the present invention.
- the computer system according to the third embodiment is different in that the replication control unit 140 included in the server 100a includes a retransmission control unit 1400 as a new configuration.
- the replication control unit 140 stores the replication data transmitted from the master server via the network 300 in the master server when the replication control unit 140 is a slave server.
- the function of transmitting to (retransmission processing function) can be further executed.
- the duplication control unit 140 periodically executes a retransmission process.
- the computer system of the third embodiment is also different from the first embodiment in that it has a replication management table 170B in which management items are added to the replication management table 170A of the first embodiment. Other configurations are the same as those of the first embodiment.
- FIG. 12 is an explanatory diagram illustrating an example of the replication management table 170B according to the third embodiment of this invention.
- the replication management table 170B newly includes two management items, a primary replication destination 1501 and a secondary replication destination 1502.
- the main replication destination 1501 stores the result of the replication process for the slave server 100b having the highest priority as the storage location of the replicated data.
- the secondary replication destination 1502 stores the result of the replication processing for the slave server 100n having the second highest priority as the storage location of the replicated data.
- a result of the duplication process either “success” indicating that the duplication process is successful or “fail” indicating that the duplication process has failed is stored.
- the priority order is determined for the slave servers 100b and 100n.
- a method may be considered in which the priority order is determined in the order in which the key range managed by the slave server 100b as the master and the key range managed by the master server 100a are close.
- the method for determining the priority order of the slave servers 100b and 100n is a known technique, and thus detailed description thereof is omitted.
- replicated data is transmitted to the two slave servers 100b and 100n, only the two slave servers 100b and 100n with higher priority are targeted.
- the present invention is not limited to this, and the replicated data may be transmitted to two or more slave servers.
- the replication control unit 140 in the slave servers 100b and 100n detects reception of the replication data transmitted from the master server 100a, and transmits a notification that the replication processing has been successful to the master server 100a.
- This notification includes the identifier of the slave server 100b or 100n and the identifier of the duplicate data.
- the replication control unit 140 in the master server 100a receives a notification that the replication processing has been successful from the slave server 100b or 100n, the replication control unit 140 acquires the identifier of the slave server 100b or 100n and the identifier of the replication data included in the notification. .
- the replication control unit 140 searches for a corresponding entry from the replication management table 170B based on the acquired identifier of the replicated data. Furthermore, the replication control unit 140 specifies the replication destination slave server 100 from the identifiers of the slave servers 100b and 100n, and stores “success” in the main replication destination 1501 and the secondary replication destination 1502 of the corresponding entries.
- the replication control unit 140 periodically refers to the replication management table 170B, and stores “fail” for an entry that cannot receive a notification that the replication processing has been successful within a certain period.
- FIG. 13 is a flowchart illustrating processing executed by the replication control unit 140 of the master server 100a according to the third embodiment of the present invention.
- the replication control unit 140 refers to the replication management table 170B and determines whether the replication processing for the slave server 100b that is the primary replication destination is successful (steps S1601 and S1602).
- the retransmission control unit 1400 refers to the replication management table 170B and determines whether or not the main replication destination 1501 of all entries is “success”. If there is at least one entry whose primary replication destination 1501 is “fail”, it is determined that the replication process for the primary replication destination slave server has failed.
- the retransmission control unit 1400 terminates the process.
- the replication control unit 140 executes the replication process again (step S1603). Thereafter, the replication control unit 140 returns to step S1601 and executes the same processing.
- the replication process any of the methods of the first embodiment and the second embodiment may be used.
- the replication control unit 140 may execute the same determination process for the slave server 100 that is the secondary replication destination. That is, in the retransmission process, the reliability of data is improved as the number of replication destinations to be managed increases.
- the third embodiment it is possible to detect that replicated data is not transmitted to the slave servers 100b and / or 100n, and to transmit the replicated data again to the slave servers 100b and / or 100n. Can be higher.
- one of the features is that a broadcast notification including duplicate data is transmitted a plurality of times in order to expand the third embodiment and further improve the reliability of the data.
- a broadcast notification including duplicate data is transmitted a plurality of times in order to expand the third embodiment and further improve the reliability of the data.
- the configuration of the computer system is almost the same as that of the third embodiment. However, the point that the function for managing the number of transmissions of the broadcast notification to the slave server is added to the retransmission control unit 1400 and the data transmission amount 150 are as follows.
- the broadcast notification is executed according to the number of transmissions. Since other configurations are the same as those of the third embodiment, description thereof is omitted.
- FIG. 14 is a flowchart for describing processing executed by the master server 100a according to the fourth embodiment of the present invention. This figure is obtained by adding the process of step S1701 to the process in the computer system of the first embodiment shown in FIG.
- step S1701 the master server 100a executes a transmission count calculation process. Specifically, retransmission control section 1400 calculates the number of broadcast notification transmissions. Specific processing will be described later with reference to FIG.
- the retransmission control unit 1400 in the fourth embodiment has a counter function that measures the number of successful replication processes and the number of failed replication processes for each entry in the replication management table 170B.
- the retransmission control unit 1400 updates the number of successful replication processes or the number of failed replication processes every time the replication management table 170B is updated.
- FIG. 15 is a flowchart illustrating processing executed by the retransmission control unit 1400 according to the fourth embodiment of the present invention.
- the retransmission control unit 1400 counts the counter values (step S1801), and calculates the success probability of the replication process (step S1802).
- the retransmission control unit 1400 acquires counter values corresponding to all entries in the replication management table 170B.
- the counter value includes the number of successful replication processes and the number of failed replication processes.
- the retransmission control unit 1400 calculates the total value of the number of successful replication processes and the total number of failed replication processes of all entries included in the replication management table 170B based on the acquired counter value.
- the total value of the number of successful replication processes is referred to as a total value A1
- the total value of the number of failed replication processes is referred to as a total value A2.
- the retransmission control unit 1400 calculates the success probability of the replication process by substituting the calculated total value A1 and total value A2 into the following equation (1).
- Success probability P A1 / (A1 + A2) (1)
- the retransmission control unit 1400 determines the number of broadcast notification transmissions based on the calculated success probability of the replication process (step S1803).
- a method may be considered in which the retransmission control unit 1400 determines the reciprocal of Equation (1) as the number of broadcast notification transmissions.
- the reciprocal number of Formula (1) does not become an integer, it shall round up after a decimal point. Note that the method for determining the number of broadcast notification transmissions is not limited to that described above.
- the retransmission control unit 1400 notifies the data transmission unit 150 of the determined number of broadcast notification transmissions, and ends the process (step S1804).
- the success probability of replication processing is calculated using the number of successes and the number of failures, but the present invention is not limited to this.
- the success probability of the replication process can be calculated by using the total number of executions of the replication process and the success count of the replication process.
- the success probability of the replication process can be calculated using the total number of executions of the replication process and the number of times the replication process has failed.
- the reliability of data can be further increased by transmitting the broadcast notification a plurality of times in advance.
- the various software exemplified in the present embodiment can be stored in various recording media such as electromagnetic, electronic, and optical, and can be downloaded to a computer through a communication network such as the Internet.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
成功確率P=A1/(A1+A2)…(1)
Claims (20)
- ネットワークを介して複数の計算機が接続され、前記各計算機が有する記憶領域から構築されたデータベースを用いて業務を実行する計算機システムであって、
前記各計算機は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサと接続され、前記ネットワークを介して他の前記計算機と通信するためのネットワークインタフェースとを有し、
前記計算機システムは、複数のデータを含むデータセットを管理する第1の計算機を含み、
前記第1の計算機は、他の前記計算機によって管理されるデータセットに含まれるデータの複製データを格納し、
前記第1の計算機は新たな第1データの格納要求を受け付けた場合に、前記第1データを前記メモリに格納し、
前記第1データを複製して、第1複製データを生成し、
前記生成された第1複製データを前記他の計算機に送信し、
前記第1複製データが前記ネットワークに送信されたか否かを判定し、
前記第1複製データが前記ネットワークに送信されたと判定された場合、前記第1データを用いて業務を実行することを特徴とする計算機システム。 - 請求項1に記載の計算機システムであって、
複数の計算機に同時にデータを送信するための同報通知を用いて、前記生成された第1複製データを前記他の計算機に送信することを特徴とする計算機システム。 - 請求項2に記載の計算機システムであって、
前記ネットワークの通信状態が正常であるか否かを判定することによって、前記第1複製データが前記ネットワークに送信されたか否かを判定することを特徴とする計算機システム。 - 請求項3に記載の計算機システムであって、
前記ネットワークは、データを転送するネットワーク装置を含み、
前記計算機システムは、
前記ネットワーク装置から前記第1複製データを含む前記同報通知を受信したか否かを判定し、
前記ネットワーク装置から前記第1複製データを含む同報通知を受信したと判定された場合、前記ネットワークの通信状態が正常であると判定することを特徴とする計算機システム。 - 請求項3に記載の計算機システムであって、
前記第1の計算機は、周期的に、前記他の計算機との間の通信状態を監視し、
前記計算機システムは、
前記第1の計算機と前記他の計算機との間の通信状態の監視結果を参照して、前記他の計算機と通信可能か否かを判定し、
前記他の計算機と通信可能であると判定された場合、前記ネットワークの通信状態が正常であると判定することを特徴とする計算機システム。 - 請求項3に記載の計算機システムであって、
前記第1の計算機は、
ネットワークを介したサービスに対するプロセスを実行し、
周期的に、前記プロセスの稼動状態を監視し、
前記計算機システムは、
前記プロセスの稼動状態の監視結果を参照して、前記プロセスが正常に稼動しているか否かを判定し、
前記プロセスが正常に稼動していると判定された場合、前記ネットワークの通信状態が正常であると判定することを特徴とする計算機システム。 - 請求項1から請求項6の少なくともいずれか一つに記載の計算機システムであって、
前記第1の計算機は、前記他の計算機に前記第1複製データが格納されたか否かを判定し、
前記他の計算機に前記第1複製データが格納されていない場合には、前記第1データの複製データを、再度、前記他の計算機に送信することを特徴とする計算機システム。 - 請求項7に記載の計算機システムであって、
前記第1の計算機は、前記他の計算機への前記複製データの格納処理の成功回数又は失敗回数の少なくともいずれかの回数を計測するカウンタを有し、
新たな第2データの格納要求を受け付けた場合に、前記第2データを前記メモリに格納し、
前記第2データを複製して、第2複製データを生成し、
前記カウンタの値に基づいて、前記複製データの格納処理の成功確率を算出し、
前記算出された成功確率に基づいて、前記第2複製データの送信回数を決定し、
前記決定された送信回数分、前記生成された第2複製データを送信することを特徴とする計算機システム。 - 請求項1に記載の計算機システムであって、
前記データベースには、キー及びデータ値から構成される前記データが格納され、
前記各計算機は、所定のキー範囲の前記データセットを管理し、
前記第1の計算機は、第1のキー範囲の前記データセットを管理し、前記他の計算機が管理する所定のキー範囲の前記データセットに含まれる前記データの複製データを格納することを特徴とする計算機システム。 - ネットワークを介して複数の計算機が接続され、前記各計算機が有する記憶領域から構築されたデータベースを用いて業務を実行する計算機システムにおけるデータ管理方法であって、
前記各計算機は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサと接続され、前記ネットワークを介して他の前記計算機と通信するためのネットワークインタフェースとを有し、
前記計算機システムは、複数のデータを含むデータセットを管理する第1の計算機を含み、
前記第1の計算機は、他の前記計算機によって管理されるデータセットに含まれるデータの複製データを格納し、
前記方法は、
前記第1の計算機が、新たな第1データの格納要求を受け付けた場合に、前記第1データを前記メモリに格納する第1のステップと、
前記第1の計算機が、前記第1データを複製して、第1複製データを生成する第2のステップと、
前記第1の計算機が、前記第1複製データを前記他の計算機に送信する第3のステップと、
前記第1の計算機が、前記第1複製データが前記ネットワークに送信されたか否かを判定する第4のステップと、
前記第1の計算機が、前記第1複製データが前記ネットワークに送信されたと判定された場合、前記第1データを用いて業務を実行する第5のステップと、を含むことを特徴とするデータ管理方法。 - 請求項10に記載のデータ管理方法であって、
前記第3のステップでは、複数の計算機に同時にデータを送信するための同報通知を用いて前記第1複製データを前記他の計算機に送信することを特徴とするデータ管理方法。 - 請求項11に記載のデータ管理方法であって、
前記第4のステップは、さらに、前記ネットワークの通信状態が正常であるか否かを判定する第6のステップを含むことを特徴とするデータ管理方法。 - 請求項12に記載のデータ管理方法であって、
前記ネットワークは、データを転送するネットワーク装置を含み、
前記第6のステップは、
前記ネットワーク装置から前記第1複製データを含む前記同報通知を受信したか否かを判定するステップと、
前記ネットワーク装置から前記第1複製データを含む同報通知を受信したと判定された場合、前記ネットワークの通信状態が正常であると判定するステップと、を含むことを特徴とするデータ管理方法。 - 請求項12に記載のデータ管理方法であって、
前記第1の計算機は、周期的に、前記他の計算機との間の通信状態を監視し、
前記第6のステップは、
前記他の計算機との間の通信状態の監視結果を参照して、前記他の計算機と通信可能か否かを判定するステップと、
前記他の計算機と通信可能であると判定された場合、前記ネットワークの通信状態が正常であると判定するステップと、を含むことを特徴とするデータ管理方法。 - 請求項12に記載のデータ管理方法であって、
前記第1の計算機は、
ネットワークを介したサービスに対するプロセスを実行し、
周期的に、前記プロセスの稼動状態を監視し、
前記第6のステップは、
前記プロセスの稼動状態の監視結果を参照して、前記プロセスが正常に稼動しているか否かを判定するステップと、
前記プロセスが正常に稼動していると判定された場合、前記ネットワークの通信状態が正常であると判定するステップと、を含むことを特徴とするデータ管理方法。 - 請求項10から請求項15の少なくともいずれか一つに記載のデータ管理方法であって、
前記方法は、さらに、
前記第1の計算機が、前記他の計算機に前記第1複製データが格納されたか否かを判定するステップと、
前記第1の計算機が、前記他の計算機に前記第1複製データが格納されていない場合には、前記第1データの複製データを、再度、前記他の計算機に送信するステップと、を含むことを特徴とするデータ管理方法。 - 請求項16に記載のデータ管理方法であって、
前記第1の計算機は、前記他の計算機への前記複製データの格納処理の成功回数又は失敗回数の少なくともいずれかの回数を計測するカウンタを有し、
前記方法は、さらに、
前記第1の計算機が、新たな第2データの格納要求を受け付けた場合に、前記第2データを前記メモリに格納するステップと、
前記第1の計算機が、前記第2データを複製して、第2複製データを生成するステップと、
前記第1の計算機が、前記カウンタの値に基づいて、前記複製データの格納処理の成功確率を算出するステップと、
前記第1の計算機が、前記算出された複製データの格納処理の成功確率に基づいて、前記第2複製データの送信回数を決定するステップと、
前記第1の計算機が、前記決定された送信回数分、前記生成された第2複製データを送信するステップと、を含むことを特徴とするデータ管理方法。 - 請求項10に記載のデータ管理方法であって、
前記データベースには、キー及びデータ値から構成される前記データが格納され、
前記各計算機は、所定のキー範囲の前記データセットを管理し、
前記第1の計算機は、第1のキー範囲の前記データセットを管理し、前記他の計算機が管理する所定のキー範囲の前記データセットに含まれる前記データの複製データを格納することを特徴とするデータ管理方法。 - ネットワークを介して複数の計算機が接続され、前記各計算機が有する記憶領域から構築されたデータベースを用いて業務を実行する計算機に実行させるためのデータ管理プログラムであって、
前記各計算機は、
プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサと接続され、前記ネットワークを介して他の前記計算機と通信するためのネットワークインタフェースとを有し、
複数のデータを含むデータセットを管理し、
他の前記計算機によって管理されるデータセットに含まれるデータの複製データを格納し、
前記データ管理プログラムは、
新たな第1データの格納要求を受け付けた場合に、前記第1データを前記メモリに格納する手順と、
前記第1データを複製して、第1複製データを生成する手順と、
前記生成された第1複製データを、複数の計算機に同時にデータを送信するための同報通知を用いて前記他の計算機に送信する手順と、
前記第1複製データが前記ネットワークに送信されたか否かを検出する手順と、
前記第1複製データが前記ネットワークに送信されたことが検出された場合、前記第1データを用いて業務を実行する手順と、を前記プロセッサに実行させることを特徴とする計算機システム。 - 請求項19に記載のデータ管理プログラムであって、
前記第1複製データが前記ネットワークに送信されたか否かを判定する手順では、前記ネットワークに含まれるネットワーク装置から前記第1データを含む前記同報通知を受信したか否かを判定する手順、前記他の計算機と通信可能か否かを判定する手順、又は、前記ネットワークを介したサービスに対するプロセスが正常に稼動しているか否かを判定する手順、の少なくともいずれかを前記プロセッサに実行させることを特徴とするデータ管理プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/110,343 US9367261B2 (en) | 2011-09-28 | 2011-09-28 | Computer system, data management method and data management program |
JP2013535705A JP5548829B2 (ja) | 2011-09-28 | 2011-09-28 | 計算機システム、データ管理方法及びデータ管理プログラム |
PCT/JP2011/072164 WO2013046352A1 (ja) | 2011-09-28 | 2011-09-28 | 計算機システム、データ管理方法及びデータ管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/072164 WO2013046352A1 (ja) | 2011-09-28 | 2011-09-28 | 計算機システム、データ管理方法及びデータ管理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013046352A1 true WO2013046352A1 (ja) | 2013-04-04 |
Family
ID=47994464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/072164 WO2013046352A1 (ja) | 2011-09-28 | 2011-09-28 | 計算機システム、データ管理方法及びデータ管理プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9367261B2 (ja) |
JP (1) | JP5548829B2 (ja) |
WO (1) | WO2013046352A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014170952A1 (ja) * | 2013-04-16 | 2014-10-23 | 株式会社日立製作所 | 計算機システム、計算機システム管理方法及びプログラム |
WO2015072025A1 (ja) * | 2013-11-18 | 2015-05-21 | 株式会社日立製作所 | 計算機システム、計算機システム管理方法及びプログラム |
JP2015228165A (ja) * | 2014-06-02 | 2015-12-17 | 三菱電機株式会社 | データ管理装置 |
JPWO2015025384A1 (ja) * | 2013-08-21 | 2017-03-02 | 株式会社東芝 | データベースシステム、プログラムおよびデータ処理方法 |
US10162875B2 (en) | 2013-08-27 | 2018-12-25 | Kabushiki Kaisha Toshiba | Database system including a plurality of nodes |
JP2021501398A (ja) * | 2017-10-31 | 2021-01-14 | アビニシオ テクノロジー エルエルシー | 時間間隔カウンタを使用してコンピュータクラスタを管理すること |
US11204941B2 (en) | 2018-08-27 | 2021-12-21 | Hitachi, Ltd. | Distributed database system, distributed database management method, and distributed database management program |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013153646A1 (ja) * | 2012-04-12 | 2013-10-17 | 株式会社日立製作所 | 計算機システム、データ配置管理方法及びプログラム |
WO2014083672A1 (ja) * | 2012-11-30 | 2014-06-05 | 株式会社日立製作所 | 管理装置、管理方法及びプログラムを格納する記録媒体 |
WO2018022931A1 (en) * | 2016-07-28 | 2018-02-01 | Caringo, Inc. | Multi-part upload |
US10700711B1 (en) | 2017-11-03 | 2020-06-30 | Caringo Inc. | Multi-part upload and editing of erasure-coded objects |
US20230081785A1 (en) * | 2021-09-10 | 2023-03-16 | Huawei Technologies Co., Ltd. | Data sending method and apparatus, data receiving method, apparatus, and system, and medium |
CN113872718B (zh) * | 2021-09-26 | 2023-09-12 | 上海市共进通信技术有限公司 | 实现时间同步功能的系统、方法、装置、处理器及其介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297432A (ja) * | 2001-03-30 | 2002-10-11 | Toshiba Corp | 分散処理型データベース管理システム |
JP2010129088A (ja) * | 2008-11-25 | 2010-06-10 | Internatl Business Mach Corp <Ibm> | 分散データ・レプリカを利用する情報サービスのデータ保全性及びデータ精度を管理するための方法、装置及びコンピュータ・プログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7395265B2 (en) * | 2004-08-27 | 2008-07-01 | Hitachi, Ltd. | Data processing system and storage subsystem provided in data processing system |
US7506011B2 (en) | 2006-07-26 | 2009-03-17 | International Business Machines Corporation | System and apparatus for optimally trading off the replication overhead and consistency level in distributed applications |
US20080147821A1 (en) * | 2006-12-19 | 2008-06-19 | Dietrich Bradley W | Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes |
US8572031B2 (en) * | 2010-12-23 | 2013-10-29 | Mongodb, Inc. | Method and apparatus for maintaining replica sets |
-
2011
- 2011-09-28 US US14/110,343 patent/US9367261B2/en active Active
- 2011-09-28 WO PCT/JP2011/072164 patent/WO2013046352A1/ja active Application Filing
- 2011-09-28 JP JP2013535705A patent/JP5548829B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002297432A (ja) * | 2001-03-30 | 2002-10-11 | Toshiba Corp | 分散処理型データベース管理システム |
JP2010129088A (ja) * | 2008-11-25 | 2010-06-10 | Internatl Business Mach Corp <Ibm> | 分散データ・レプリカを利用する情報サービスのデータ保全性及びデータ精度を管理するための方法、装置及びコンピュータ・プログラム |
Non-Patent Citations (1)
Title |
---|
JUN MIYAZAKI: "Cloud o Sasaeru Data Storage Gijutsu", JOHO SHORI, vol. 52, no. 6, 15 May 2011 (2011-05-15), pages 684 - 692 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5952960B2 (ja) * | 2013-04-16 | 2016-07-13 | 株式会社日立製作所 | 計算機システム、計算機システム管理方法及びプログラム |
US9892183B2 (en) | 2013-04-16 | 2018-02-13 | Hitachi, Ltd. | Computer system, computer system management method, and program |
WO2014170952A1 (ja) * | 2013-04-16 | 2014-10-23 | 株式会社日立製作所 | 計算機システム、計算機システム管理方法及びプログラム |
JPWO2015025384A1 (ja) * | 2013-08-21 | 2017-03-02 | 株式会社東芝 | データベースシステム、プログラムおよびデータ処理方法 |
US10685041B2 (en) | 2013-08-21 | 2020-06-16 | Kabushiki Kaisha Toshiba | Database system, computer program product, and data processing method |
US10162875B2 (en) | 2013-08-27 | 2018-12-25 | Kabushiki Kaisha Toshiba | Database system including a plurality of nodes |
GB2536074A (en) * | 2013-11-18 | 2016-09-07 | Hitachi Ltd | Computer system, computer system management method and program |
JP6007340B2 (ja) * | 2013-11-18 | 2016-10-12 | 株式会社日立製作所 | 計算機システム、計算機システム管理方法及びプログラム |
WO2015072025A1 (ja) * | 2013-11-18 | 2015-05-21 | 株式会社日立製作所 | 計算機システム、計算機システム管理方法及びプログラム |
GB2536074B (en) * | 2013-11-18 | 2020-10-07 | Hitachi Ltd | Computer system, computer system management method and program |
JP2015228165A (ja) * | 2014-06-02 | 2015-12-17 | 三菱電機株式会社 | データ管理装置 |
JP2021501398A (ja) * | 2017-10-31 | 2021-01-14 | アビニシオ テクノロジー エルエルシー | 時間間隔カウンタを使用してコンピュータクラスタを管理すること |
JP7314127B2 (ja) | 2017-10-31 | 2023-07-25 | アビニシオ テクノロジー エルエルシー | 時間間隔カウンタを使用してコンピュータクラスタを管理すること |
US11204941B2 (en) | 2018-08-27 | 2021-12-21 | Hitachi, Ltd. | Distributed database system, distributed database management method, and distributed database management program |
Also Published As
Publication number | Publication date |
---|---|
US9367261B2 (en) | 2016-06-14 |
JP5548829B2 (ja) | 2014-07-16 |
US20140059315A1 (en) | 2014-02-27 |
JPWO2013046352A1 (ja) | 2015-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5548829B2 (ja) | 計算機システム、データ管理方法及びデータ管理プログラム | |
US10185497B2 (en) | Cluster federation and trust in a cloud environment | |
US11445019B2 (en) | Methods, systems, and media for providing distributed database access during a network split | |
US10346430B2 (en) | System and method for determining consensus within a distributed database | |
US10614098B2 (en) | System and method for determining consensus within a distributed database | |
US9560093B2 (en) | Higher efficiency storage replication using compression | |
US9934242B2 (en) | Replication of data between mirrored data sites | |
US11163655B2 (en) | Systems and methods for resynchronizing mirroring partners in a storage system | |
WO2014199568A1 (ja) | 永続記憶装置へのデータ書込制御方法 | |
WO2012046585A1 (ja) | 分散ストレージシステム、その制御方法、およびプログラム | |
JP6697101B2 (ja) | 情報処理システム | |
JP2011002970A (ja) | 分散データ管理システム、データ管理装置、データ管理方法、およびプログラム | |
KR101748913B1 (ko) | 분산 저장 환경에서 게이트웨이를 선택하기 위한 클러스터 관리 방법 및 데이터 저장 시스템 | |
US20130318040A1 (en) | Data replication apparatus and method using hierarchical organization of data servers | |
TWI748653B (zh) | 透過更新執行狀態判斷裝置運作狀況之系統及方法 | |
WO2013073022A1 (ja) | 計算機システム及び障害検出方法 | |
KR101491452B1 (ko) | 메시징 채널을 이용한 데이터 복제 방법 및 장치 |
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: 11873432 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013535705 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14110343 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11873432 Country of ref document: EP Kind code of ref document: A1 |