IT用語帳

デッドロック

Deadlock

でっどろっく

2つ以上のトランザクションが互いに相手がロックしているリソースの解放を待ち合い、処理が永久に進まなくなる状態。DBMSがデッドロックを検出した場合、一方のトランザクションを強制的にロールバックして解消する。
データベース > トランザクション処理

他の資格での定義

IPデッドロック

複数のトランザクションが互いに相手がロックしている資源の解放を待ち合い、どちらも処理を進められなくなる状態。検出した場合は一方のトランザクションを強制終了して解消する。

APデッドロック

2つ以上のトランザクションが互いに相手のロック解放を待ち続け、いずれも先に進めなくなる状態。検出時にはいずれかのトランザクションをロールバックして解消する。予防策として資源の獲得順序を統一する方法がある。

SAデッドロック

複数のプロセスやスレッドが互いに相手のリソース解放を待ち続け、すべての処理が停止する状態。相互排他、保持と待機、非横取り、循環待ちの4条件が同時に成立すると発生する。タイムアウトや資源の順序付けで回避する。

DBデッドロック

2つ以上のトランザクションが互いに相手のロック解放を待ち合い、処理が永久に進まなくなる状態。待ちグラフによる検出や、タイムアウトによる検出を行い、一方のトランザクションをアボートして解消する。

ESデッドロック

複数のタスクが互いに相手の保持する資源の解放を待ち合い、どのタスクも処理を進められなくなる状態。相互排他、保持と待ち、非プリエンプション、循環待ちの4条件が全て揃うと発生する。資源の獲得順序の統一などで予防する。

関連キーワードの用語

FEトランザクション

データベースに対する一連の処理を1つの論理的な作業単位としてまとめたもの。ACID特性を満たす必要があり、すべての処理が完了するか、すべてが取り消されるかのいずれかが保証される。

FEACID特性

トランザクション処理が満たすべき4つの特性。原子性(Atomicity:すべて実行かすべて取消)、一貫性(Consistency:整合性の維持)、独立性(Isolation:他のトランザクションの影響を受けない)、永続性(Durability:確定した結果は失われない)。

FE排他制御

複数のトランザクションが同時にデータを更新する際に、データの矛盾を防ぐための制御機構。ロック方式が代表的で、データ更新中は他のトランザクションからのアクセスを制限する。

IPトランザクション

データベースに対する一連の処理をひとまとまりとして扱う単位。「すべて完了」か「すべて取り消し」のどちらかで処理され、データの整合性を保つ。

IPACID特性

トランザクションが満たすべき4つの特性。原子性(Atomicity)、一貫性(Consistency)、独立性(Isolation)、耐久性(Durability)の頭文字を取ったもの。

SG排他制御

複数のトランザクションが同時に同じデータにアクセスする際、データの不整合を防ぐための制御。ロック方式が代表的で、あるトランザクションがデータを使用中は他のトランザクションのアクセスを制限する。