IT用語帳
A-1データベース · トランザクション処理

デッドロック

Deadlock

でっどろっく

2つ以上のトランザクションやプロセスが、互いに相手が確保している資源の解放を待ち続け、どれも処理を先に進められなくなる状態。DBMSは待ちグラフなどで検出し、いずれかのトランザクションをロールバックして解消する。資源を確保する順序を統一することで発生を防げる。

共有:

Related

他の資格での定義

IPデッドロック

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

FEデッドロック

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

APデッドロック

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

SAデッドロック

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

DBデッドロック

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

ESデッドロック

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

PD-Dデッドロック

複数のトランザクション(プロセス)が、互いに相手が確保している資源の解放を待ち続け、どれも処理を進められなくなる状態。DBMSは待ちグラフに閉路ができたことでこれを検出し、いずれかのトランザクションをロールバックして解消する。予防策には、資源を確保する順序をそろえる、Wait-Die方式やWound-Wait方式のように時刻印で待つか中止するかを決めるといった方法がある。

PD-Sデッドロック

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

Past Exams

過去問での出題

過去問で 61 回出題(データベーススペシャリスト試験 21・応用情報技術者試験 13・高度試験 午前Ⅰ 6・エンベデッドシステムスペシャリスト試験 5・基本情報技術者試験 4・ITパスポート試験 3・ITサービスマネージャ試験 3・情報処理安全確保支援士試験 3・情報セキュリティマネジメント試験 1・システムアーキテクト試験 1・システム監査技術者試験 1)。うち 2 回は用語そのものを問う問題です。

残り 51 件を表示

出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「用語を問う問題」は、この用語の説明や特徴そのものを問う問題です。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。

Related

関連キーワードの用語

A-1同時実行制御(排他制御)

複数のトランザクションが同じデータに同時にアクセスしても、データの整合性が保たれるように実行を制御すること。ロック方式のほか、時刻印方式や多版同時実行制御(MVCC)などの方式があり、結果が何らかの順序で1つずつ実行した場合と同じになること(直列可能性)を目指す。

A-1セマフォ方式

共有資源の利用を、セマフォと呼ぶ整数の変数で管理して排他制御や同期を行う方式。資源を使う前にP操作で値を減らし(0なら待つ)、使い終えたらV操作で値を増やして待っている処理を再開させる。値が0と1だけのバイナリセマフォは相互排除に使われる。

A-1コミットメント制御

トランザクションのすべての処理が正常に終わったときにだけ更新を確定(コミット)し、途中で異常が起きたときは更新をすべて取り消す(ロールバック)ことで、データベースの更新を全部行うか全く行わないかのどちらかにする制御。トランザクションの原子性を保証し、分散データベースでは2相コミットメントが使われる。

A-1MVCC(多版同時実行制御)

データを更新するときに古い版を残して複数の版を保持し、各トランザクションには開始時点などで確定していた版を読ませる同時実行制御の方式。読取りがロックを必要とせず、読取りと書込みが互いを待たないため、同時実行性が高い。多くの関係データベース製品が採用している。

A-1バックワードリカバリ(ロールバック)

データベースの障害回復の方法で、ログ(ジャーナル)に記録された更新前の内容を使って、トランザクションによる更新を取り消し、そのトランザクションの開始前の状態に戻すこと。トランザクションの異常終了時や、システム障害時に未完了だったトランザクションの取消しに使われる。

FEロック粒度

ロックをかける対象の大きさ。表単位、ページ単位、行単位などがある。粒度を細かくすると同時に実行できる処理は増えるが、管理するロックの数が増えて処理の負担が大きくなる。