2相ロック 【ツーフェーズロック】 2PL / Two-Phase Locking / 2相ロッキングプロトコル

概要

2相ロック(ツーフェーズロック)とは、並列システムにおけるロック処理の方式の一つで、(複数の対象に)ロックを取得する段階と、それらを解放する段階を分ける方式。リレーショナルデータベースにおけるトランザクション処理などで用いられる。

あるトランザクション実行する際に、必要な資源に順にロックを獲得していき(成長相)、処理が終わったら順にロックを解放していく(縮退相)。ロックを解放してから再び別のオブジェクトロックを獲得することが無いようにする。

並行に実行されるすべてのトランザクションが2相ロックに従うことで、すべてのデータアクセスが直列化され、途中で他のトランザクションデータを書き換えられてしまい処理に矛盾を生じるデータの不整合を避けることができる。

このうち、ロックの解放をコミット時にまとめてう方式を「厳密な2相ロック」(S2PL:Strict 2PL)、トランザクション開始時にロックの獲得をまとめてう方式を「保守的な2相ロック」(C2PL:Conservative 2PL)という。

(2021.8.2更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる