応用情報技術者 2020年 秋期 午前2 問30
問題文
トランザクションの ACID 特性のうち、耐久性 (durability) に関する記述として、適切なものはどれか。
選択肢
ア:正常に終了したトランザクションの更新結果は、 障害が発生してもデータベースから消失しないこと(正解)
イ:データベースの内容が矛盾のない状態であること
ウ:トランザクションの処理が全て実行されるか、 全く実行されないかのいずれかで終了すること
エ:複数のトランザクションを同時に実行した場合と、 順番に実行した場合の処理結果が一致すること
トランザクションの ACID 特性のうち、耐久性 (durability) に関する記述【午前2 解説】
要点まとめ
- 結論:耐久性とは、正常終了したトランザクションの結果が障害後も消失しないことを指します。
- 根拠:トランザクションのACID特性の一つで、障害発生時にデータの永続性を保証するために重要です。
- 差がつくポイント:耐久性は「更新結果の永続化」に注目し、他の特性(整合性、一貫性、独立性)と混同しないことが鍵です。
正解の理由
ア: 正常に終了したトランザクションの更新結果は、障害が発生してもデータベースから消失しないことが耐久性の定義に最も合致します。
耐久性は、トランザクションがコミットされた後、その変更が永続的に保存され、システム障害が起きても失われないことを保証します。これにより、信頼性の高いデータベース運用が可能となります。
耐久性は、トランザクションがコミットされた後、その変更が永続的に保存され、システム障害が起きても失われないことを保証します。これにより、信頼性の高いデータベース運用が可能となります。
よくある誤解
耐久性を「データの整合性」や「トランザクションの一貫性」と混同しやすいですが、耐久性はあくまで「変更結果の永続性」に関する特性です。
解法ステップ
- ACID特性の4つ(Atomicity, Consistency, Isolation, Durability)を確認する。
- 各選択肢がどの特性に該当するかを判別する。
- 耐久性は「障害後もデータが消えないこと」と覚えているか確認する。
- 選択肢アが耐久性の説明に合致するため正解と判断する。
選択肢別の誤答解説
- イ: 「データベースの内容が矛盾のない状態であること」は整合性(Consistency)に関する説明です。
- ウ: 「トランザクションの処理が全て実行されるか、全く実行されないか」は原子性(Atomicity)の説明です。
- エ: 「複数トランザクションの同時実行結果が順番実行と同じ」は独立性(Isolation)に関する内容です。
補足コラム
耐久性を実現するためには、ログファイルへの書き込みやチェックポイントの設定、ディスクへの確実な書き込みなどが重要です。これにより、障害発生時にリカバリ処理が可能となります。
FAQ
Q: 耐久性はどのように保証されますか?
A: 通常、トランザクションのコミット時にログに書き込み、障害時はログから復旧することで保証されます。
A: 通常、トランザクションのコミット時にログに書き込み、障害時はログから復旧することで保証されます。
Q: ACIDの中で耐久性が最も重要な場面は?
A: システム障害や電源断などの障害発生時に、データの永続性を確保したい場合です。
A: システム障害や電源断などの障害発生時に、データの永続性を確保したい場合です。
関連キーワード: トランザクション、ACID特性、耐久性、データベース、障害復旧、原子性、整合性、独立性

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

