20.7.33. 同時更新


データ構造(Red Hat Data Grid Cache など)がアクセスおよび変更されると、データの正確性を保証するメカニズムがない限り、データの整合性の問題に悪影響を及ぼす可能性があります。ConcurrentMap を実装するため、Red Hat Data Grid Cache は、条件付き置換putIfAbsent、および 条件付き削除 などの操作を提供し、データの正確性を保証します。また、クライアントは JTA トランザクション内のキャッシュインスタンスに対して操作できるため、必要なデータの整合性が保証されます。

ただし、Hot pressure プロトコル でサポートされるサーバーの場合、クライアントにはリモートトランザクションを起動する機能がありませんが、代わりにバージョン管理された操作を呼び出して、組み込み Red Hat Data Grid キャッシュインスタンス API が提供する条件メソッドを模倣できます。実際の例を見て、その仕組みを理解してみましょう。

20.7.33.1. データの一貫性の問題

アカウントのバランスが格納されている銀行に Hotpid を使用して接続した 2 つの ATM があるとします。最新のバランスを取得するために 2 つの後に続く 2 つの操作は、以下のように 500 CHF(swiss francs)を返す可能性があります。

図20.7 同時リーダー

次に、顧客が最初の ATM に接続し、400 CHF を取得するよう要求します。ATM は最後の値の読み取りに基づいて、新しいバランス(100 CHF)を計算して、この新しい値で要求できます。では、別の顧客が ATM に接続するのと同時に、200 CHF を取得しても入手できることを考えてみましょう。ATM は最新のバランスを持ち、計算に基づいて新しいバランスを 300 CHF に設定すると仮定してみましょう。

明らかに、これは間違っています。2 つの同時更新により、誤ったアカウントのバランスが生じました。2 番目の ATM が正しくないため、2 つ目の更新は許可されていません。新しいバランスを計算する前に ATM がバランスを取得している場合でも、取得される新しいバランスと更新の間で更新することができます。Hot336 のクライアントサーバーシナリオでこの問題を解決する方法を検討する前に、クライアントと Red Hat Data Grid が同じ JVM 内に配置されたピアツーピアモードで実行した場合に、この問題を解決する方法を見ていきます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る