応用情報技術者 2012年 春期 午前2 問30
問題文
トランザクションが、データベースに対する更新処理を完全に行うか、全く処理しなかったかのように取り消すか、のいずれかを保証する特性はどれか。
選択肢
ア:一貫性(consistency)
イ:原子性(atomicity)(正解)
ウ:耐久性(durability)
エ:独立性 (isolation)
トランザクションの特性に関する問題【午前2 解説】
要点まとめ
- 結論:トランザクションが更新処理を完全に行うか全く行わないかを保証する特性は「原子性(atomicity)」です。
- 根拠:原子性はトランザクションの処理単位が「全て成功」か「全て失敗」のどちらかであることを保証し、中途半端な状態を防ぎます。
- 差がつくポイント:一貫性や耐久性、独立性と混同しやすいですが、更新処理の「全か無か」の保証は原子性だけが担います。
正解の理由
選択肢イの「原子性(atomicity)」は、トランザクションの処理が途中で失敗した場合に、すべての変更を取り消し、まるで処理が行われなかったかのように戻すことを保証します。これにより、データベースの状態が不完全な状態で残ることを防ぎます。したがって、更新処理の「完全に行うか、全く行わないか」の保証は原子性の特性に該当します。
よくある誤解
「一貫性」はデータの整合性を保つことを指し、処理の全か無かを保証するものではありません。
「耐久性」は処理後の結果が永続的に保存されることを意味し、途中での取り消しとは異なります。
「耐久性」は処理後の結果が永続的に保存されることを意味し、途中での取り消しとは異なります。
解法ステップ
- トランザクションの4大特性(ACID)を思い出す。
- 「全て成功か全て失敗か」を保証する特性を探す。
- 原子性(atomicity)が該当することを確認する。
- 他の選択肢の意味と比較し、混同しないようにする。
選択肢別の誤答解説
- ア: 一貫性(consistency)
データの整合性を保つことを指し、処理の途中での取り消しを保証するものではありません。 - イ: 原子性(atomicity)
トランザクションの処理が全て成功するか全て失敗するかを保証し、正解です。 - ウ: 耐久性(durability)
トランザクション完了後の結果が永続的に保存されることを保証しますが、途中の取り消しとは関係ありません。 - エ: 独立性(isolation)
複数トランザクションの同時実行時に互いの影響を防ぐ特性で、処理の全か無かとは異なります。
補足コラム
トランザクションの4大特性「ACID」は、Atomicity(原子性)、Consistency(一貫性)、Isolation(独立性)、Durability(耐久性)を指します。これらはデータベースの信頼性を支える基本概念であり、特に原子性は障害発生時のデータの整合性維持に不可欠です。
FAQ
Q: 原子性と一貫性はどう違いますか?
A: 原子性は処理の「全か無か」を保証し、一貫性は処理後のデータがルールに従って正しい状態であることを保証します。
A: 原子性は処理の「全か無か」を保証し、一貫性は処理後のデータがルールに従って正しい状態であることを保証します。
Q: トランザクションが途中で失敗した場合、どうなりますか?
A: 原子性により、すべての変更が取り消され、データベースは処理前の状態に戻ります。
A: 原子性により、すべての変更が取り消され、データベースは処理前の状態に戻ります。
関連キーワード: トランザクション、原子性、ACID特性、データベース更新、一貫性、耐久性、独立性

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

