データベーススペシャリスト試験攻略のツボ(5)

「トランザクション」に関する問題


西沢直木
2008/9/17

 本連載では、テクニカルエンジニア(データベース)試験に対応できる知識を確認していきます。多岐にわたる知識が問われる試験ですので、受験する方はもちろん、日常業務ではあまり使うことのない技術知識の確認にも役立ててください。
目次
今回の出題範囲
18年-午前問題-問41/19年-午前問題-問42
20年-午前問題-問38








問5-2 直列可能性が保証できるトランザクション

 2つのトランザクションT1、T2が、データa、bに並行してアクセスする。T1、T2の組合せのうち、直列可能性が保証できるものはどれか。ここで、トランザクションの各操作の意味は次のとおりとする。

  • LOCK x:データxをロックする
  • READ x:データxを読み込む
  • WRITE x :データxを書き出す
  • UNLOCK x:データxをアンロックする

5-2fig
(19年-午前問題-問42)

答え

解説

 トランザクションの作業問題の中で、かなり頻出している問題です。ここ最近では、15年、17年、19年と、1年おきに出題されています。

 問題文と選択肢は毎回ほぼ同じですが、次回以降も同じという保証はないので油断しないようにしましょう。ちなみに筆者が合格した際の試験でも出題されていました。過去の問題で見ていたので答えはすぐに分かりましたが、試験場で初めて目にしていたら解答に時間がかかったかもしれません。問題文の解釈と選択肢パターンの吟味に手間がかかるかもしれないので、必ず事前に見ておきたい頻出問題です。

 問題の狙いは、T1とT2を同時に実行した場合でも、T1が終了してからT2を実行したときと結果が同じになるような、独立性が保たれるパターンを選ばせることです。

 直列可能性が保証できない処理、つまり、1つのトランザクションを実行中に、ほかのトランザクションにリソースを取得されてしまうような処理は不正解になります。その選択肢は次のとおりです。

◆直列可能性が保証できない処理の選択肢
  • 選択肢「ア」:ロックする前にデータaを読み込んでいる
  • 選択肢「イ」:処理の途中でロックを解除している
  • 選択肢「ウ」:処理の途中でロックを解除している

 選択肢「エ」は、「ア〜ウ」のようなことがないので、いずれかのトランザクションが完了してからもう1つのトランザクションが処理され、直列可能性が保証できます。従って、「エ」が正解です。


次のページへ 2/3 次のページへ

Index
データベーススペシャリスト試験攻略のツボ(5)
「トランザクション」に関する問題
問5-1 トランザクションのACID特性
  コラム:トランザクションのACID特性に関する出題傾向
→ Page 2
問5-2 直列可能性が保証できるトランザクション
問5-3 デッドロックが発生するタイミング


データベーススペシャリスト試験攻略のツボ




Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間