基本情報技術者試験「トランザクション」の問題
トランザクションのACID特性のうち、処理が全て実行されるか全く実行されないかのいずれかであることを保証する性質はどれか。
ア一貫性(Consistency,整合性)
イ原子性(Atomicity)
ウ独立性
エ耐久性(Durability,永続性)
正解
イ.原子性(Atomicity)
原子性(Atomicity)は『分割不可』を意味し、トランザクション内の処理が全て確定するか、途中失敗時には全てロールバックされる。中途半端な状態を残さないため正しい。
?選択肢ごとの解説
ア ×一貫性はトランザクション前後でデータの整合性制約が保たれる性質であり、全か無かを直接保証する性質ではない。
イ ○原子性(Atomicity)は『分割不可』を意味し、トランザクション内の処理が全て確定するか、途中失敗時には全てロールバックされる。中途半端な状態を残さないため正しい。
ウ ×独立性は並行実行中の他トランザクションから中間状態が見えない性質であり、全か無かの実行とは異なる。
エ ×耐久性は確定した結果が障害後も失われない性質であり、実行の全か無かを保証するものではない。
✎くわしく
ACIDはトランザクションの信頼性を支える4特性。原子性はコミット/ロールバックで実現され、ログ(WAL)を用いて障害時に未完了処理を取り消す。一貫性・独立性・耐久性とは保証する対象が異なる。
✓本番での押さえどころ
試験のコツ
設問のキーワードで判定する。『全て or 全くない』=原子性、『他から見えない』=独立性、『障害後も残る』=耐久性。
覚え方
Atomicity=原子=これ以上割れない=処理を途中で割らない(全か無か)、と語源で結びつける。
よくある誤り
原子性と一貫性を混同しやすい。『全か無か=原子性』『整合性制約=一貫性』と対象を分けて理解する。
データベースの他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0010