楽観的ロック?悲観的ロック?
初めましてblueです。
現在、ITベンチャー企業でWEB・スマホの受託開発をやっているエンジニアです。
とある言葉を初めて聴きました。
楽観的ロック
悲観的ロック
これが何なのかというと排他制御の方式になります。
排他制御とは
他のユーザーが操作出来ないように制御することです。
商品を購入する時とか複数のユーザーがアクセスして、操作するときにデータの過不足が発生したりします。そうならないように制御すること
その中でもやり方は色々あります。
アクセスすら出来なくするのか、アクセスは出来るけど最終的に更新できなくするのか
その方式が楽観的ロック、悲観的ロック
概念とか考え方的なものになってきます。
楽観的ロック
データの更新するタイミングでチェックをすること。
残り1個の商品を購入する時に購入するタイミングで他のユーザーがその商品を既に購入していないかどうかをチェックする
データの更新するタイミングでデータの整合性を図ることを表します。
悲観的ロック
アクセスすら出来なくすること
残り1個の商品を他のユーザーがカートに入れていれば、その商品の在庫をなしにしたりして、カートに入れることすら出来なくする
アクセスすら出来なくすることで商品を同時購入する問題を解決します。
ざっとまとめてみました。
説明として不十分なところもありますが、ご理解いただけると幸いです。
以上が今日学んだ楽観的ロック、悲観的ロックでした
良かったらサポートしていただけると嬉しいです!