平成26年度 春期 午前Ⅱ 問11
トランザクション処理
直列化可能性に関する問題
トランザクションの直列化可能性(serializability)が保証されている状態の説明はどれか。
- ア2相コミットが可能であり,複数のトランザクションを同時実行できる。
- イ隔離性水準が低い状態であり,トランザクション間の干渉が起こり得る。
- ウ複数のトランザクションが同時実行された結果と,逐次実行された結果とが同じになる。
- エ複数のトランザクションが,一つずつ順にスケジュールされて実行される。
答えと解説を見る
✓ これが正解ウ複数のトランザクションが同時実行された結果と,逐次実行された結果とが同じになる。
解説
同時に実行した結果が、一つずつ順に実行した結果と同じになる状態です。
直列化可能性は、複数のトランザクションを同時に実行したときの結果が、それらを何らかの順番で一つずつ実行した場合の結果と一致する性質です。同時に実行していても、結果だけを見ればどれかの逐次実行と区別できないので、トランザクションどうしが干渉していないとみなせます。この性質が保証されていれば、並行に処理する効率を保ちながら、データの整合性も守れます。2相ロッキングプロトコルに従ってロックをかけることは、直列化可能性を保証する代表的な方法です。実際の実行順ではなく、結果が逐次実行と同じかどうかで判定する性質だと押さえると、紛らわしい記述を見分けられます。
ほかの選択肢はなぜ違うのか
- ア2相コミットが可能であり,複数のトランザ…:2相コミットは、分散したデータベースの更新を、全部コミットするか全部取り消すかでそろえるための手順です。分散トランザクションの原子性を保つ仕組みであり、同時実行の結果の正しさを表す性質の説明ではありません。
- イ隔離性水準が低い状態であり,トランザクシ…:隔離性水準が低い状態は、トランザクション間の干渉を一部許している状態です。直列化可能性が保証されるのは干渉が結果に表れない最も厳しい水準の場合で、記述は逆の状態を述べています。
- エ複数のトランザクションが,一つずつ順にス…:一つずつ順にスケジュールして実行するのは、直列スケジュールそのものです。直列化可能性は同時に実行しながら結果を逐次実行と同じにする性質で、実際に一つずつ実行することを求めるものではありません。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- スケジュール作業の順序と日程を決めた計画のことをいいます。作業の前後関係から日程を組み立てるには、PERTが向いています。
出典:平成26年度 春期 データベーススペシャリスト試験 午前Ⅱ 問11
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問16(スケジュール)
- 令和5年度 秋期 午前Ⅱ 問17(スケジュール)
- 平成31年度 春期 午前Ⅱ 問10:共有ロックに関する問題(スケジュール)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)