データベース
トランザクションが、データベースに対する更新処理を完全に行うか、全く処理し なかったかのように取り消すか、のどちらかの結果になることを保証する特性はどれ か。
ア.一貫性(consistency)
イ.原子性(atomicity)正解
ウ.耐久性(durability)
エ.独立性(isolation)
解説
「全部やるか、全部なかったことにするか」の二択しかない——これが原子性です。銀行振込で言えば、「口座Aから引く」と「口座Bに足す」の2ステップがセットで成功するか、どちらも起きなかったことになるか、その二択しか許されない性質です。
なぜ イ が正解か
原子性(atomicity)の「原子」は、これ以上分割できない最小単位のこと。トランザクションという処理のかたまりは、原子と同じで途中の状態が外から見えてはいけません。「引き落としだけ成功して入金は失敗」なんて中途半端な状態は存在できず、COMMITで全確定か、ROLLBACKで全消去かのどちらかだけが結果として残ります。「やるなら全部やる、やらないなら最初からなかったことにする」——これが原子性の約束です。
出典: 基本情報技術者試験 令和5年 公開問題