情報更新の際に、同じデータを同時に複数の処理から更新を防がなければいけない。つまり、データの排他チェックが必要となる。
ここでデータのロックで、楽観ロックと悲観ロックがあります。
まずは、悲観ロック。簡単にいますと、悲観ロックはデータ更新する前に、select対象データにロックをかける。その他の処理・ユーザは当該データの参照・更新などは一切にできません。
次は、楽観ロック。つまり、データにロックをかけません。Selectなどは正常にできるけど、最終的にDBに更新する際に、エラーさせる。
上記、2つのリック方法は一長一短です。
悲観ロックはデータの整合性を維持できる一方、デットロックに発生しやすい。
楽観ロックはデットロック発生しないけど、複数の処理で同じデータ操作ができるため、データの衝突が発生しやすい。
以上、SE基本知識:悲観ロックと楽観ロックでした。
♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。
zanmai @2016年03月31日
» ①②③④の順で設定できるはず。…