| EAA カタログ |

楽観的オフラインロック

デービッド・ライス著

競合するビジネス取引間で競合が発生しないようにし、競合を検出して取引をロールバックします。

完全な説明は、EAA の Pページ416を参照してください。

多くの場合、ビジネス取引は、一連のシステム取引で実行されます。単一のシステム取引の範囲外になると、データベースマネージャーにのみ依存して、ビジネス取引がレコードデータを整然とした状態のままにすることはできません。2 つのセッションが同じレコードで作業し始めるとデータ整合性にリスクが生じ、更新の損失が起こる可能性がかなりあります。また、あるセッションがデータの編集を行っていて、別のセッションがデータを正しく読み込めていない場合は、矛盾した読み込みが起こる可能性があります。

楽観的オフラインロックは、あるセッションでコミットしようとしている変更が、他のセッションの変更と競合しないことを検証することで、この問題を解決します。事前コミットの検証が成功すると、ある意味、ロックを取得して、レコードデータへの変更を続行しても問題ないことを示しています。検証と更新が単一のシステム取引内で行われる限り、ビジネス取引は整合性が保たれます。

一方、悲観的オフラインロック (426) はセッションの競合の可能性が高いとしてシステムの並列性を制限しますが、楽観的オフラインロックは競合の可能性は低いとしています。セッションの競合は発生しないだろうという予想により、複数のユーザーが同じデータを同時に利用できます。