lock
表記揺れ
ロック
あるリソースが他のユーザーに使われないようにすること
一般に2種類ある
excluded
排他ロック
/ 書き込みロック
(DBのロックの例)テーブルの更新行に対して、他のトランザクションのアクセスを全て拒否する
shared lock(
共有ロック
) / 読み込みロック
他の読み取りは禁止しない
トレードオフ
並行トランザクションが増えて待ち時間が処理速度を超えるとパフォーマンスが劣化する(
thrashing
という)
https://gihyo.jp/dev/serial/01/db-academy/000203
対策
ロックの粒度を小さくして待ち時間を減らす
流量制限を行う
deadlock
になる可能性が生まれる