ホーム > データベーススペシャリスト試験 > 2023年
データベーススペシャリスト試験 2023年 午前2 問16
トランザクションの隔離性水準を高めたとき、不整合なデータを読み込むトランザクション数と、単位時間に処理できるトランザクション数の傾向として、適切な組合せはどれか。

ア:不整合なデータを読み込むトランザクション数増える、単位時間に処理できるトランザクション数増える
イ:不整合なデータを読み込むトランザクション数増える、単位時間に処理できるトランザクション数減る
ウ:不整合なデータを読み込むトランザクション数減る、単位時間に処理できるトランザクション数増える
エ:不整合なデータを読み込むトランザクション数減る、単位時間に処理できるトランザクション数減る(正解)
解説
トランザクションの隔離性水準を高めたときの影響【午前2 解説】
要点まとめ
- 結論:隔離性水準を高めると不整合なデータを読み込むトランザクション数は減り、処理性能は低下する傾向にある。
- 根拠:高い隔離性はトランザクション間の干渉を防ぐため、データの一貫性が保たれるが、ロックや待機が増え処理速度が落ちる。
- 差がつくポイント:隔離性のレベルと性能のトレードオフを理解し、具体的な不整合の種類(ダーティリードなど)を把握することが重要。
正解の理由
隔離性水準を上げることで、トランザクションは他のトランザクションの未確定データを読み込むことができなくなり、不整合なデータの読み込みが減少します。一方で、排他制御やロックの競合が増え、単位時間に処理できるトランザクション数は減少します。したがって、「不整合なデータを読み込むトランザクション数が減る」「単位時間に処理できるトランザクション数が減る」組み合わせであるエが正解です。
よくある誤解
隔離性を高めると処理性能が向上すると誤解されがちですが、実際はロック競合が増え処理性能は低下します。逆に性能が上がる選択肢は誤りです。
解法ステップ
- トランザクションの隔離性とは何かを理解する(他トランザクションの影響をどこまで排除するか)。
- 隔離性水準が高いほど不整合なデータ読み込みが減ることを確認する。
- 高い隔離性はロックや待機を増やし、処理性能が低下することを認識する。
- 選択肢の組み合わせを照らし合わせて正しい傾向を選ぶ。
選択肢別の誤答解説
- ア:不整合なデータが増え、処理性能も増えるのは矛盾。隔離性を高めると不整合は減る。
- イ:不整合が増えるのは誤り。隔離性向上で不整合は減る。処理性能が減る点は正しい。
- ウ:不整合が減るのは正しいが、処理性能が増えるのは誤り。隔離性向上は性能低下を招く。
- エ:不整合が減り、処理性能も減るため正しい。
補足コラム
トランザクションの隔離性はSQL標準で4段階(Read Uncommitted, Read Committed, Repeatable Read, Serializable)に定義されており、段階が上がるほど不整合防止効果が高まる反面、ロック競合や待機が増え性能が低下します。実務では性能と整合性のバランスを考慮して適切な隔離レベルを選択します。
FAQ
Q: 隔離性を高めると処理速度は必ず遅くなりますか?
A: 一般的には遅くなりますが、システム設計や負荷状況によっては影響が小さい場合もあります。
A: 一般的には遅くなりますが、システム設計や負荷状況によっては影響が小さい場合もあります。
Q: 不整合なデータとは具体的にどのようなものですか?
A: 例えば、未確定の更新データを読み込む「ダーティリード」や、他トランザクションの更新が反映されない「ファントムリード」などがあります。
A: 例えば、未確定の更新データを読み込む「ダーティリード」や、他トランザクションの更新が反映されない「ファントムリード」などがあります。
関連キーワード: トランザクション, 隔離性, 不整合データ, 処理性能, ロック競合, データベース管理