データの基礎定義問題

ネット銀行が「A口座から1万円引き落とし」と「B口座に1万円入金」を同一トランザクション内で実行中にシステム障害が発生し、引き落としだけ成功した状態になりました。システムは引き落としを自動的に取り消して両口座を変更前の状態に戻しました。これはACIDのどの特性によって保証されているか?

A.一貫性(Consistency)
✗ 一貫性は制約(外部キー・チェック制約等)が常に満たされることを保証するが、2操作のセット単位での全成功/全失敗を定義する特性ではない。
B.分離性(Isolation)
✗ 分離性は並行トランザクションが互いに影響しないことを保証する。部分失敗時のロールバックの定義ではない。
C.原子性(Atomicity)← 正解
✓ 正解。原子性(Atomicity)はトランザクション内の全操作が「全て成功」または「全てロールバック」のどちらかになることを保証する。部分的な成功状態を許さない。
D.耐久性(Durability)
✗ 耐久性(Durability)はコミット済みデータが障害後も保持されることを保証する。障害前のロールバックを保証するのは原子性。

DP-900:Microsoft Azure Data Fundamentals の問題一覧