令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問15
テクノロジ/データベーストランザクション T₁ と T₂ の並行実行における不整合検索異状(inconsistent retrieval anomaly)の説明はどれか。
出典:令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問15
- アT₁ が x を更新した後コミットする前に,T₂ も x を更新すること
- イT₁ と T₂ が同時にデータ x を読み,T₁ は x を更新する。T₂ は更新前の x の値に基づいてデータ y を更新することによって,y の値が x の値に基づかなくなること
- ウ先行する T₁ が更新したデータ x を,後続の T₂ が読んで処理を行うとき,T₁ がロールバックすると,T₂ もロールバックしなければならなくなること
- エ先行する T₁ が更新したデータ x を,後続の T₂ が読んで処理を行った後に,T₁ がロールバックすることによって,T₂ は結果的に誤った処理になること
正解:イ
解説
不整合検索異状(inconsistent retrieval anomaly)は,二つのトランザクションが関連する複数のデータに対して並行に読み書きを行った結果,一方のトランザクションが,他方の更新が反映される前後のデータが混在した,論理的に矛盾した値を読み取ってしまう現象です。設問の例では,T₂ が x の更新前の値に基づいて y を更新するため,更新後の x と y の間に本来成立すべき関係が崩れてしまいます。
選択肢ごとの解説
- ア誤り。これは更新の欠落(lost update)につながる状況の説明であり,二つのトランザクションが同一データを競合して更新する問題です。
- イ正しい。T₂ が更新前の x の値に基づいて y を更新した結果,更新後の x の値と y の値との対応関係が崩れてしまうことが,不整合検索異状の説明です。
- ウ誤り。これはカスケーディングロールバック(cascading rollback)の説明であり,先行トランザクションのロールバックに伴い後続トランザクションもロールバックが必要になる現象です。
- エ誤り。これはコミット後のトランザクションが誤ったデータに基づいて処理を行うカスケーディングロールバックに関連する状況の説明であり,不整合検索異状そのものではありません。