t1~t10の時刻でスケジュールされたトランザクションT1~T4がある。時刻t10でT1がcommitを発行する直前の、トランザクションの待ちグラフを作成した。aに当てはまるトランザクションはどれか。ここで、select(X)は共有ロックを掛けて資源Xを参照することを表し、update(X)は専有ロックを掛けて資源Xを更新することを表す。これらのロックは、commitされた時にアンロックされるものとする。また、トランザクションの待ちグラフの矢印は、Ti→Tjとしたとき、Tjがロックしている資源のアンロックを、Tiが待つことを表す。

待ちグラフは各資源のロック保持者と待機者の関係から決まる

頻出システムアーキテクト試験2022年度 春期 午前II24/データベース / トランザクション

トランザクションの待ちグラフ。円形のノードa(上)、d(左)、b(右)、c(下)がひし形状に配置されている。矢印はa→d(aからdへ、dを指す)、b→a(bからaへ、aを指す)、c→d(cからdへ、dを指す)、そしてbとcの間は双方向の矢印(b→cとc→bの両方)で結ばれている。
トランザクションの待ちグラフ。円形のノードa(上)、d(左)、b(右)、c(下)がひし形状に配置されている。矢印はa→d(aからdへ、dを指す)、b→a(bからaへ、aを指す)、c→d(cからdへ、dを指す)、そしてbとcの間は双方向の矢印(b→cとc→bの両方)で結ばれている。
〔トランザクションのスケジュール〕
時刻T1T2T3T4
t1select(A)---
t2-select(B)--
t3--select(B)-
t4---select(A)
t5---update(B)
t6select(C)---
t7-select(C)--
t8-update(C)--
t9--update(A)-
t10commit---

選択肢

正解と解説

正解: T2

各資源のロック状態を時系列で追うと、AはT1とT4が共有ロック、BはT2とT3が共有ロック、CはT1とT2が共有ロックを保持する。その後、T4のupdate(B)はT2とT3を待ち、T2のupdate(C)はT1を待ち、T3のupdate(A)はT1とT4を待つ。待ちの矢印が出ておらず二つ流入する頂点がT1(図のd)、そこへ向かう矢印を1本だけ出しつつ1本受ける頂点がT2であり、aはT2となる。

選択肢ごとの解説

出典:令和4年度 春期 システムアーキテクト試験 午前II 問24(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。