テクノロジ系応用
データベースのトランザクション実行中にネットワーク接続が切断された場合、ACID特性の「一貫性(Consistency)」を保つために、データベースはどのような処理を行うか。最も適切なものはどれか。
A.不完全なトランザクションを部分的に適用して、データベースの状態を進める
✗ 部分適用はACIDの一貫性を損なう。トランザクションは全てか無かのいずれかが原則。
B.既に完了した操作は確定して、不完了の操作のみをロールバックする
✗ 部分的な確定と部分的なロールバックは矛盾した状態を生む。
C.トランザクション全体をロールバックして、変更前の整合状態に戻す← 正解
✓ 正解です。トランザクション全体をロールバックすることで、データベースの整合性を保つ。
D.ネットワーク復旧後に処理を再開し、中断時点から再実行する
✗ 中断時点からの再実行では、既に適用済みの操作が重複実行される可能性がある。
この問題のポイント
トランザクション全体をロールバックすることで、データベースの整合性を保つ。