Hitachi

In-Memory Data Grid Hitachi Elastic Application Data Store


2.4.9 General procedure for data access

This subsection explains the general procedure for data access.

Organization of this subsection

(1) Data update operation

The EADS client identifies the EADS server that stores the data based on the cluster information that the EADS client maintains and then updates the data.

The following figure shows the general procedure for data access by means of an example of put processing that sets the multiplicity to 3.

Figure 2‒15: General procedure for data access

[Figure]

The EADS client sends a put processing request.

When EADS server 1 receives the request, it sends a consensus message to the EADS servers to which the data is to be copied to obtain consensus for performing the put processing.

EADS server 1 performs the put processing if it receives as many consensus messages from individual EADS servers as there are data copies plus the original. This insures data consistency when redundant copies of the data are created. This example needs consensus from three EADS servers to perform put processing because multiplicity has been set to 3.

If consensus processing is not completed within a specified period of time (the default is 0.8 second), a timeout occurs and the consensus processing is performed again.

If the EADS server receives three consensus responses including one from itself, it stores and creates redundant copies of the data. Because the multiplicity is set to 3, this example copies data to EADS servers 2 and 3. The processing is performed asynchronously at the EADS servers.

When the data has been stored in EADS server 1, which is the EADS server that received the request, the processing results are returned to the EADS client.

The following explains the handling of data storage and redundancy errors.

The possible causes of a data storage or redundancy error are as follows:

#

When the total data restriction function is enabled and a shortage of data storage capacity is foreseen, an error in the corresponding processing can be set and the EADS server can be prevented from becoming isolated. For this reason, we recommend that you enable the total data restriction function.

(a) When data storage fails

This subsection explains the handling of data storage errors by means of an example of put processing that sets multiplicity to 3.

[Figure]

In this example, data storage in EADS server 1 failed and an error is returned to the EADS client.

Redundant copies of the data are created.

The EADS server where storage of the data failed is isolated,# but the cluster continues operating. In this status, the data multiplicity remains low. To restore the data multiplicity, eliminate the problem that isolated the EADS server and then restore the EADS server.

#

An isolated EADS server no longer accepts requests from EADS clients.

(b) When data storage is successful, but creation of redundant copies of the data fails

This subsection explains the handling when data storage was successful, but creation of redundant copies of the data fails, by way of an example of put processing that sets multiplicity to 3.

[Figure]

To perform put processing, this example requires consensus from three EADS servers. However, there is no response from EADS server 3, one of the targets to which the data is to be copied. The example obtains consensus from another EADS server (EADS server 4), and then performs the put processing. Note that EADS server 4 does not create redundant copies of the data.

The EADS server in which creation of a redundant copy of the data failed is isolated, but the cluster continues operating. In this status, the data multiplicity remains low. To restore the data multiplicity, eliminate the problem that isolated the EADS server and then restore the EADS server.

(2) Data reference operation

The EADS client identifies the EADS server where the desired data was stored based on the cluster information that the EADS client maintains, and then references the data.

If the target EADS server in which the data was stored is down but redundant copies of the data had been created, the EADS client accesses an EADS server containing a copy of the data and references the data there.