2.4.9 データアクセス時の排他制御
複数のEADsクライアントやコマンドによって同一データが同時に操作され,データに矛盾が発生することを防ぐため,EADsサーバではデータの更新処理中に,レンジ単位に排他制御を行います。
レンジとは,あるキャッシュのデータを,EADsサーバの位置によって区切った,データの格納範囲のことです。詳細については,「2.5.1 データの分散配置の概要」を参照してください。
同一レンジのデータに対する複数アクセス時の同時実行可否を次の表に示します。
実行中の処理 |
同時に実行する処理 |
|
---|---|---|
データの更新操作※1 |
データの参照操作※2 |
|
データの更新操作※1 |
× |
○ |
データの参照操作※2 |
○ |
○ |
- (凡例)
-
○:同時に実行できます。実行中の処理の完了を待たないで,処理を実行します。
×:同時に実行できません。実行中の処理が完了してから,処理を実行します。
- 注※1
-
データの更新操作とは,次のAPIまたはコマンドのことです。
-
API(put,create,update,replace,remove)
-
eztool putコマンド
-
eztool removeコマンド
APIには,ユーザファンクション内で実行されるAPIを含みます。
-
- 注※2
-
データの参照操作とは,次のAPIまたはコマンドのことです。
-
API(get)
-
Groupインタフェースの,次に示すIterator系メソッド
・keyIterator()
・descendingKeyIterator()
・higherKeyIterator()
・lowerDescendingKeyIterator()
-
eztool getコマンド
APIには,ユーザファンクション内で実行されるAPIを含みます。
-
put処理を例に排他範囲を次の図に示します。