平成30年 春期 データベーススペシャリスト 午前II 問14

厳密な2相ロッキングプロトコルと表ロックを適用して、同時実行してい他のトランザクションの処理結果に影響を与えないようにする。
実現されるトランザクションの隔離性水準はどれか。

 ア  READ UNCOMMITTED  イ  READ COMMITTED
 ウ  REPEATABLE READ  エ  SERIALIZABLE


答え エ


解説
トランザクション分離レベルには以下の、4種類が定義されています。

  • SERIALIZABLE(直列化可能)
    複数の並行に動作するトランザクションそれぞれの結果が、それらのトランザクションを逐次実行した場合と同じ結果となることです。
  • REPEATABLE READ(読み取り対象のデータを常に読み取る)
    ひとつのトランザクションが実行中の間、読み取り対象のデータが途中で他のトランザクションによって変更される心配がないことです。
  • READ COMMITTED(確定した最新データを常に読み取る)
    他のトランザクションによる更新については、常にコミット済みのデータのみを読み取ることです。
  • READ UNCOMMITTED(確定していないデータまで読み取る)
    他の処理によって行われている、書きかけのデータまで読み取ることです。


キーワード
・隔離性水準

キーワードの解説
  • 隔離性水準
    他のトランザクションとの影響の度合いを示す指標で、3つの異常を定義しています。
    • ダーティリード
      コミットしていないデータを読むこと
    • アンリピータブルリード
      同じデータを複数回読むとき、結果が違うこと
    • ファントムリード
      異なるデータ集合を読んでしまうこと

もっと、「隔離性水準」について調べてみよう。

戻る 一覧へ 次へ