問題
データベースのトランザクションで「耐久性(Durability)」が保証することは何か。
選択肢
- 1ア すべての更新が中断なく瞬時に行われる
- 2イ コミットされたデータは障害後も失われない
- 3ウ 並行処理で競合が生じない
- 4エ トランザクションは必ず成功する
正解
2. イ コミットされたデータは障害後も失われない
詳しい解説を見る解説を閉じる
解説
トランザクションのACID特性のうち耐久性(Durability)は、コミットが完了した更新結果は、その後に電源断やシステム障害が発生しても失われないことを保証する性質である。よってイが正解である。DBMSは更新内容をログ(ジャーナル)として先に書き出すことなどでこれを実現し、障害後はログを用いて回復処理を行う。アのような瞬時の実行は保証内容ではなく、処理が「すべて実行されるか、全く実行されないか」のいずれかになることを保証するのは原子性(Atomicity)である。ウの並行実行時の干渉防止は独立性(Isolation)の役割であり、エの「必ず成功する」はACIDのどれにも該当しない。原子性・一貫性・独立性・耐久性の4特性の名称と意味の対応は最頻出の暗記事項である。
一問一答
科目A 180問+科目B 60問