共有ロック
Shared Lock
きょうゆうろっく
トランザクションがデータを読み取る際に取得するロック。他のトランザクションも同時に共有ロックを取得して読取りが可能だが、専有ロック(更新)は取得できない。読取り時のデータの一貫性を保証する。
データベース > トランザクション処理
他の資格での定義
関連キーワードの用語
AP専有ロック
トランザクションがデータを更新する際に取得するロック。排他ロックとも呼ばれ、他のトランザクションはそのデータの読取りも更新もできなくなる。共有ロックとも排他的であり、書込み時のデータ整合性を保証する。
FE専有ロック
データの更新時に使用するロック。ロック中は他のトランザクションからの読取りも書込みも禁止される。書込みロックとも呼ばれ、データの一貫性を確保する。
DBロック
トランザクションがデータにアクセスする前に、他のトランザクションのアクセスを制限するための仕組み。共有ロック(読取り用)と占有ロック(更新用)がある。
DB楽観的制御方式(楽観的ロック)
トランザクション実行中はロックを取得せず、コミット前に競合が発生していないか検証する方式。読取り→検証→書込みの3フェーズで処理する。競合が少ない環境で高いスループットを実現する。
DBデッドロック
2つ以上のトランザクションが互いに相手のロック解放を待ち合い、処理が永久に進まなくなる状態。待ちグラフによる検出や、タイムアウトによる検出を行い、一方のトランザクションをアボートして解消する。
DB占有ロック(Xロック)
データの更新(INSERT、UPDATE、DELETE)時に取得するロック。同一データに対して他のいかなるロック(共有・占有)とも排他的であり、ロックを取得したトランザクションのみがアクセスできる。