Hitachi

In-Memory Data Grid Hitachi Elastic Application Data Store


2.4.10 Locking during data access

If data were to be manipulated by multiple EADS clients and commands simultaneously, data consistency might be lost. To prevent this, EADS servers lock data in units of ranges during update operations.

Range refers to data storage areas in which data in a cache is separated according to the location of the EADS servers. For details, see 2.5.1 Overview of data distribution.

The following table shows whether the same range of data can be accessed by multiple EADS clients and commands simultaneously.

Table 2‒3: Whether the same range of data can be accessed by multiple EADS clients and commands simultaneously

Processing underway

Processing to be executed simultaneously

Data update operation#1

Data reference operation#2

Data update operation#1

N

Y

Data reference operation#2

Y

Y

Legend:

Y: Can be performed simultaneously. The processing is performed without waiting for completion of the current processing.

N: Cannot be performed simultaneously. The processing is performed after the current processing has been completed.

#1

Data update operation means the following API functions or commands:

The API functions include API functions executed within user functions.

#2

Data reference operation means the following API functions or command:

  • API functions (get, getAll)

  • The following Iterator methods of the Group interface:

    [Figure] keyIterator()

    [Figure] descendingKeyIterator()

    [Figure] higherKeyIterator()

    [Figure] lowerDescendingKeyIterator()

  • eztool get command

The API functions include API functions executed within user functions.

The following figure shows the scope of locking, using put as an example.

Figure 2‒16: Scope of locking

[Figure]