
目次
悲観ロック
悲観ロックとは
悲観ロックとは、
データの競合が発生する可能性が高いと考え、「データを取得した時点でロックをかける」ことだよ。
他のユーザーが同じデータを変更できないようにする排他制御の方法なんだ。
悲観ロックの仕組み
1. データの取得時にロック
あるユーザーがデータを取得すると、そのデータにロックがかかり、他のユーザーは変更できなくなります。
2. データの更新
ロックをかけたユーザーがデータを変更します。
3. ロックの解除
更新が完了すると、ロックが解除され、他のユーザーがデータを取得・変更できるようになります。
悲観ロックの活用事例
ショッピングサイトの在庫管理
例えば、AさんとBさんが同じ商品を購入しようとした場合、悲観ロックを使うと、Aさんが購入手続きをしている間はBさんが在庫を変更できないようになります。
これにより、在庫数の不整合を防ぐことができます。
銀行の口座管理
口座の残高を更新する際に、他の処理が同時に変更できないようにすることで、誤った残高計算を防ぎます。
業務システムのデータ編集
企業のデータベースで、複数の社員が同じ顧客情報を編集する場合、悲観ロックを使うことで、データの競合を防ぎます。
※悲観ロックは、データの整合性を保つために有効ですが、ロックをかけることで「他のユーザーの処理が待機」することになり、システムのパフォーマンスに影響を与える場合があります。
そのため、状況に応じて楽観ロック(Optimistic Locking)と使い分けることが重要です。
Copilot参照
会話で学ぼ
基礎知識編
事前にロックをかける方法だよ。
どっちの変更を優先するか決めないといけないでしょ?
「他の人がデータを変更しないよう、先にロックをかける」
ことで、競合を防ぐんだ。
じゃあ、一人がロックをかけたら、
他の人は変更できなくなるってこと?
だから、確実に安全にデータを変更できるけど、
その間は他の人が編集できないから、
ちょっと効率が落ちることもあるんだ。
逆に「楽観ロック」という方法もあって、
こっちは最初にロックをかけずに、
更新時にチェックするんだ。
SNSで発信
X(元Twitter)
YouTubeショート
スタンドエフエム
【デジナンばあばチャンネル】
ばあばと、もに隊長のおもしろトークだよ(笑)
インスタグラム
tiktok
https://www.facebook.com/share/v/12LvhEA1bKZ/
スレッズ
あとがき
このサイトは
「デジタル難民のばあば」と「パソコンやスマホをあまり得意としない方々」が一緒になって
少しずつ、ヒントもしくは知識を共有していくサイトです。
知識を楽しく学びながら、棺桶に足を突っ込むその日まで、一緒に成長してまいりましょう。
最後まで読んでいただきありがとうございました♡