デッドロック
Deadlock
でっどろっく
他の資格での定義
2つ以上のトランザクションが互いに相手がロックしているリソースの解放を待ち合い、処理が永久に進まなくなる状態。DBMSがデッドロックを検出した場合、一方のトランザクションを強制的にロールバックして解消する。
2つ以上のトランザクションが互いに相手のロック解放を待ち続け、いずれも先に進めなくなる状態。検出時にはいずれかのトランザクションをロールバックして解消する。予防策として資源の獲得順序を統一する方法がある。
複数のプロセスやスレッドが互いに相手のリソース解放を待ち続け、すべての処理が停止する状態。相互排他、保持と待機、非横取り、循環待ちの4条件が同時に成立すると発生する。タイムアウトや資源の順序付けで回避する。
2つ以上のトランザクションが互いに相手のロック解放を待ち合い、処理が永久に進まなくなる状態。待ちグラフによる検出や、タイムアウトによる検出を行い、一方のトランザクションをアボートして解消する。
複数のタスクが互いに相手の保持する資源の解放を待ち合い、どのタスクも処理を進められなくなる状態。相互排他、保持と待ち、非プリエンプション、循環待ちの4条件が全て揃うと発生する。資源の獲得順序の統一などで予防する。
関連キーワードの用語
データベースの障害(トランザクション障害、システム障害、媒体障害)発生後に、データベースを一貫性のある状態に復旧する処理。ログファイルとバックアップを用いて、ロールフォワードとロールバックを実行する。
実体(エンティティ)、属性(アトリビュート)、関連(リレーションシップ)の3要素でデータの構造を視覚的に表現する図法。データベースの概念設計や業務分析において、データ間の関係を明確にするために用いられる。
関連する複数のデータ項目(フィールド)をひとまとまりにしたデータ構造。データベースではテーブルの1行(ロウ)に相当し、一人分の顧客情報や一件分の注文情報など、1件分のデータを表す。
大量のデータを一定の規則に従って蓄積し、効率的に管理・検索できるようにしたデータの集合体。複数のユーザーやアプリケーションからデータを共有して利用できる。
データベースを管理するためのソフトウェア。データの定義、操作、制御、保全などの機能を提供し、データの整合性やセキュリティを維持する。
関係データベースを管理するDBMS。データを表(テーブル)形式で管理し、SQLを用いてデータの操作を行う。Oracle、MySQL、PostgreSQLなどが代表例。