ホーム > システムアーキテクト試験 > 2013年
システムアーキテクト試験 2013年 午前2 問22
DBMSに実装すべき原子性(atomicity)を説明したものはどれか。
エ:一つのトランザクションの処理結果は、他のトランザクション処理の影響を受けることはない
ア:同ーデータベースに対する同一処理は、何度実行しても結果は同じである。
イ:トランザクションが完了すると、その後にハードウェア障害が発生しても、更新されたデータベースの内容は保証される。
ウ:トランザクション内の処理は、全てが実行されるか、全てが取り消されるかのいずれかしかない。(正解)
解説
DBMSに実装すべき原子性(atomicity)を説明したものはどれか【午前2 解説】
要点まとめ
- 結論:原子性とはトランザクション内の処理が全て成功するか全て失敗して取り消されることを保証する性質です。
- 根拠:DBMSのACID特性の一つであり、部分的な更新がデータの不整合を招かないようにします。
- 差がつくポイント:原子性は「全か無か」の処理単位の完結性であり、他の選択肢は耐障害性や独立性など別の特性を説明しています。
正解の理由
選択肢ウは「トランザクション内の処理は、全てが実行されるか、全てが取り消されるかのいずれかしかない」と述べており、これは原子性の定義そのものです。原子性はトランザクションの処理単位が中途半端に終わらず、一連の処理が完全に成功するか、失敗した場合は全て元に戻すことを保証します。これによりデータの整合性が保たれます。
よくある誤解
原子性は「処理の結果が同じになること」や「障害後のデータ保証」ではなく、処理の完結性に関する概念です。混同しやすいので注意が必要です。
解法ステップ
- 問題文の「原子性(atomicity)」の意味を思い出す。
- ACID特性の4つ(Atomicity, Consistency, Isolation, Durability)を確認する。
- 各選択肢がどのACID特性に該当するかを判別する。
- 原子性に該当する説明を選ぶ。
- 選択肢ウが「全て実行されるか全て取り消されるか」と原子性の定義に合致するため正解と判断する。
選択肢別の誤答解説
- ア: 「同一処理は何度実行しても結果が同じ」は冪等性に近い概念で、原子性とは異なります。
- イ: 「トランザクション完了後の障害耐性」は耐久性(Durability)に関する説明です。
- ウ: 「全て実行されるか全て取り消されるか」は原子性の正しい説明です。
- エ: 「他のトランザクションの影響を受けない」は独立性(Isolation)に関する説明です。
補足コラム
DBMSのACID特性はトランザクション管理の基本であり、原子性(Atomicity)、一貫性(Consistency)、独立性(Isolation)、耐久性(Durability)から成ります。原子性は特に障害発生時のデータの整合性を守るために重要です。トランザクションが途中で失敗した場合、ロールバックにより処理前の状態に戻すことでデータの不整合を防ぎます。
FAQ
Q: 原子性と耐久性はどう違いますか?
A: 原子性はトランザクションの処理が全て成功するか全て失敗するかの完結性を指し、耐久性はトランザクション完了後のデータが障害により失われないことを指します。
A: 原子性はトランザクションの処理が全て成功するか全て失敗するかの完結性を指し、耐久性はトランザクション完了後のデータが障害により失われないことを指します。
Q: トランザクションの一貫性とは何ですか?
A: 一貫性はトランザクション開始前後でデータベースの整合性制約が常に保たれることを意味します。
A: 一貫性はトランザクション開始前後でデータベースの整合性制約が常に保たれることを意味します。
関連キーワード: 原子性, トランザクション, ACID特性, DBMS, データベース整合性, ロールバック, 耐久性, 独立性