Hitachi

インメモリデータグリッド Hitachi Elastic Application Data Store ユーザーズガイド


2.4.10 データアクセス時の排他制御

複数のEADSクライアントやコマンドによって同一データが同時に操作され,データに矛盾が発生することを防ぐため,EADSサーバではデータの更新処理中に,レンジ単位に排他制御を行います。

レンジとは,あるキャッシュのデータを,EADSサーバの位置によって区切った,データの格納範囲のことです。詳細については,「2.5.1 データの分散配置の概要」を参照してください。

同一レンジのデータに対する複数アクセス時の同時実行可否を次の表に示します。

表2‒3 同一レンジのデータに対する複数アクセスの同時実行可否

実行中の処理

同時に実行する処理

データの更新操作※1

データの参照操作※2

データの更新操作※1

×

データの参照操作※2

(凡例)

○:同時に実行できます。実行中の処理の完了を待たないで,処理を実行します。

×:同時に実行できません。実行中の処理が完了してから,処理を実行します。

注※1

データの更新操作とは,次のAPIまたはコマンドのことです。

APIには,ユーザファンクション内で実行されるAPIを含みます。

注※2

データの参照操作とは,次のAPIまたはコマンドのことです。

  • API(get,getAll)

  • Groupインタフェースの,次に示すIterator系メソッド

    ・keyIterator()

    ・descendingKeyIterator()

    ・higherKeyIterator()

    ・lowerDescendingKeyIterator()

  • eztool getコマンド

APIには,ユーザファンクション内で実行されるAPIを含みます。

put処理を例に排他範囲を次の図に示します。

図2‒16 排他範囲

[図データ]