データベーススペシャリスト試験攻略のツボ(5)
「トランザクション」に関する問題
西沢直木
2008/9/17
本連載では、テクニカルエンジニア(データベース)試験に対応できる知識を確認していきます。多岐にわたる知識が問われる試験ですので、受験する方はもちろん、日常業務ではあまり使うことのない技術知識の確認にも役立ててください。
|
問5-2 直列可能性が保証できるトランザクション
2つのトランザクションT1、T2が、データa、bに並行してアクセスする。T1、T2の組合せのうち、直列可能性が保証できるものはどれか。ここで、トランザクションの各操作の意味は次のとおりとする。
- LOCK x:データxをロックする
- READ x:データxを読み込む
- WRITE x :データxを書き出す
- UNLOCK x:データxをアンロックする
(19年-午前問題-問42)
答え
エ
解説
トランザクションの作業問題の中で、かなり頻出している問題です。ここ最近では、15年、17年、19年と、1年おきに出題されています。
問題文と選択肢は毎回ほぼ同じですが、次回以降も同じという保証はないので油断しないようにしましょう。ちなみに筆者が合格した際の試験でも出題されていました。過去の問題で見ていたので答えはすぐに分かりましたが、試験場で初めて目にしていたら解答に時間がかかったかもしれません。問題文の解釈と選択肢パターンの吟味に手間がかかるかもしれないので、必ず事前に見ておきたい頻出問題です。
問題の狙いは、T1とT2を同時に実行した場合でも、T1が終了してからT2を実行したときと結果が同じになるような、独立性が保たれるパターンを選ばせることです。
直列可能性が保証できない処理、つまり、1つのトランザクションを実行中に、ほかのトランザクションにリソースを取得されてしまうような処理は不正解になります。その選択肢は次のとおりです。
◆直列可能性が保証できない処理の選択肢- 選択肢「ア」:ロックする前にデータaを読み込んでいる
- 選択肢「イ」:処理の途中でロックを解除している
- 選択肢「ウ」:処理の途中でロックを解除している
選択肢「エ」は、「ア〜ウ」のようなことがないので、いずれかのトランザクションが完了してからもう1つのトランザクションが処理され、直列可能性が保証できます。従って、「エ」が正解です。
2/3 |
Index
データベーススペシャリスト試験攻略のツボ(5)
「トランザクション」に関する問題
「トランザクション」に関する問題
問5-1 トランザクションのACID特性
コラム:トランザクションのACID特性に関する出題傾向
コラム:トランザクションのACID特性に関する出題傾向
問5-2 直列可能性が保証できるトランザクション
問5-3 デッドロックが発生するタイミング
データベーススペシャリスト試験攻略のツボ |
Database Expert フォーラム 新着記事
- Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26)
データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します - ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24)
本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します - さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21)
日本オラクルのデータベーススペシャリストが「DBAがすぐ実践できる即効テクニック」を紹介する本連載。今回は「より高度なSQL実行計画を取得するために、理解しておいてほしいこと」を解説します - データベースセキュリティが「各種ガイドライン」に記載され始めている事実 (2017/7/20)
本連載では、「データベースセキュリティに必要な対策」を学び、DBMSでの「具体的な実装方法」や「Tips」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|