読み方 : にそうロック

2相ロック【ツーフェーズロック】2PL

別名  :Two-Phase Locking/2相ロッキングプロトコル

概要

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

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

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

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

他の辞典等による「2相ロック」の解説 (外部サイト)

資格試験などの「2相ロック」の出題履歴

▼ 基本情報技術者試験
令1秋 問29】 2相ロッキングプロトコルに従ってロックを獲得するトランザクションA,Bを図のように同時実行した場合に,デッドロックが発生しないデータ処理順序はどれか。
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。