ホーム > データベーススペシャリスト試験 > 2018年
データベーススペシャリスト試験 2018年 午前2 問11
トランザクションの直列化可能性(serializability)の説明はどれか。
ア:2相コミットが可能であり、複数のトランザクションを同時実行できる。
イ:隔離性水準が低い状態であり、トランザクション間の干渉が起こり得る。
ウ:複数のトランザクションが、一つずつ順にスケジュールされて実行される。
エ:複数のトランザクションが同時実行された結果と、逐次実行された結果とが同じになる。(正解)
解説
トランザクションの直列化可能性(serializability)の説明はどれか【午前2 解説】
要点まとめ
- 結論:直列化可能性とは、複数トランザクションの同時実行結果が逐次実行と同じになる性質です。
- 根拠:これにより、並行処理の整合性が保たれ、データベースの一貫性が維持されます。
- 差がつくポイント:単に順番に実行することではなく、同時実行の結果が直列実行と等価である点を理解することが重要です。
正解の理由
選択肢エは「複数のトランザクションが同時実行された結果と、逐次実行された結果とが同じになる」と述べています。これは直列化可能性の定義そのものであり、複数トランザクションの並行実行がデータの整合性を損なわず、逐次実行と同等の結果を保証することを意味します。したがって、正解はエです。
よくある誤解
直列化可能性は単にトランザクションを順番に実行することではありません。複数トランザクションの同時実行が許されるが、その結果が逐次実行と同じになることがポイントです。
解法ステップ
- 問題文の「直列化可能性(serializability)」の意味を確認する。
- 直列化可能性は「同時実行結果が逐次実行結果と同じになること」と理解する。
- 選択肢の内容を直列化可能性の定義と照らし合わせる。
- 逐次実行と同じ結果になることを述べている選択肢を選ぶ。
- 他の選択肢は直列化可能性の説明として不適切であることを確認する。
選択肢別の誤答解説
- ア: 2相コミットは分散トランザクションの整合性確保手法であり、直列化可能性の説明ではありません。
- イ: 隔離性水準が低い状態はトランザクションの干渉が起こりやすく、直列化可能性とは逆の状態です。
- ウ: 複数トランザクションを一つずつ順に実行するのは逐次実行であり、直列化可能性の「可能性」を説明していません。
- エ: 複数のトランザクションが同時実行された結果と、逐次実行された結果とが同じになるため、直列化可能性の正しい説明です。
補足コラム
直列化可能性はデータベースのトランザクション制御における最も強い整合性保証の一つです。これを実現するためにロック制御やタイムスタンプ制御などの技術が用いられます。また、隔離性のレベルは直列化可能性を含む複数段階があり、直列化可能性は最も高い隔離レベルに相当します。
FAQ
Q: 直列化可能性と隔離性の違いは何ですか?
A: 直列化可能性は隔離性の最も強いレベルで、トランザクションの同時実行結果が逐次実行と同じになることを保証します。隔離性は複数レベルがあり、直列化可能性はその中の最高レベルです。
A: 直列化可能性は隔離性の最も強いレベルで、トランザクションの同時実行結果が逐次実行と同じになることを保証します。隔離性は複数レベルがあり、直列化可能性はその中の最高レベルです。
Q: 2相コミットは直列化可能性と関係ありますか?
A: 2相コミットは分散トランザクションのコミット整合性を保証するプロトコルであり、直列化可能性とは別の概念です。
A: 2相コミットは分散トランザクションのコミット整合性を保証するプロトコルであり、直列化可能性とは別の概念です。
関連キーワード: トランザクション制御, 直列化可能性, データベース整合性, 隔離性, 2相コミット, 並行制御