この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ウ

解説

トランザクションのACID特性における「原子性(Atomicity)」の定義を問う問題です。ACID特性はデータベースのトランザクション処理において保証すべき4つの性質の頭文字です。A:Atomicity(原子性)=「全か無か(All or Nothing)」。トランザクション内のすべての処理が成功して完了するか、一つでも失敗したら全処理を取り消す(ロールバック)かのいずれかのみ。C:Consistency(一貫性)=トランザクション前後でデータの整合性が保たれる。I:Isolation(独立性・分離性)=複数トランザクションが並行実行されても互いに干渉しない。D:Durability(永続性)=コミット済みのトランザクション結果はシステム障害後も失われない。原子性の典型例:銀行振込では「A口座から引き落とし」と「B口座への入金」が不可分のワンセット。引き落としだけ成功して入金が失敗したら原子性違反です。

なぜ他の選択肢は違うのか

選択肢 ア
「同一処理を何度実行しても結果が同じ」は冪等性(Idempotency)の説明に近い概念です。ACID特性においては一貫性(Consistency)が「状態の整合性維持」を表しますが、この記述は一貫性とも少し異なります。原子性は処理の完全実行か完全取消しかを保証するものです。
選択肢 イ
「トランザクション完了後のハードウェア障害でも更新内容が保証される」は永続性(Durability)の説明です。コミット後はディスクへの書き込みが保証され、障害が発生しても消えないことを意味します。WAL(Write-Ahead Logging)などの技術で実現されます。
選択肢 エ
「一つのトランザクションの処理結果が他のトランザクションの影響を受けない」は独立性(Isolation)の説明です。複数トランザクションの並行制御を行い、ダーティリード・ファジーリード・ファントムリードなどの異常を防ぎます。

解くときのポイント

ACID特性の語呂合わせ:「Aが原子性(All or Nothing)、Cが一貫性、Iが独立性(Isolation)、Dが耐久性(Durability)」。原子性の決め手は「全か無か」「ロールバック」のキーワード。