データベーススペシャリスト 平成24年春期 午前U 問19

午前U 問19

二つのトランザクションT1,T2が,データa,bに並行してアクセスする。T1,T2の組合せのうち,直列可能性を保証できるものはどれか。ここで,トランザクションの各操作の意味は次のとおりとする。
  • LOCK x :データxをロックする。
  • READ x :データxを読み込む。
  • WRITE x :データxを書き出す。
  • UNLOCK x :データxをアンロックする。
  • [この問題の出題歴]
  • データベース H19春期 問42

分類

テクノロジ系 » データベース » トランザクション処理

正解

解説

直列可能性とは、複数のトランザクションが同時実行される際にトランザクションが交互にどのような順序で実行されても、1つずつを順次処理したときと同じ結果になることを言います。

一般的なDBMSではロックを用いて直接可能性の確保を行います。それぞれのトランザクションが2相ロック方式、すなわちデータを読書きする前にはそのデータをロックする、必要なデータを全てロックした後のみアンロックができる、に従えば直列可能性が保証されます。したがって選択肢の各トランザクションが2相ロック方式に則ったものであるかが判断基準になります。
  • T1,T2ともにデータaがロックの前に読み込まれているため条件を満たしません。
  • T1,T2ともにデータaのアンロック後にデータbをロックしているため条件を満たしません。
  • T2は条件を満たしていますが、T1はデータaのアンロック後にデータbをロックしているため条件を満たしません。
  • 正しい。T1,T2ともに2相ロックに則っているため直列可能性が保証されます。
    19.gif/image-size:313×186
© 2016-2019 データベーススペシャリストドットコム All Rights Reserved.

Pagetop