ネットワーク・データベース・システム基盤 重要度:★★★出題: AM・PM
トランザクションのACID特性
えーしーあいでぃーとくせい / ACID Properties (Transactions)
関係データベース(RDBMS)におけるトランザクション処理の信頼性を保証する4つの必須特性(原子性・一貫性・独立性・永続性)。
3行速習ポイント
- Atomicity(原子性):処理が「全て実行される」か「全て取り消される(Rollback)」かの二者択一
- Consistency(一貫性)& Isolation(独立性):制約違反を起こさず、並行処理時も直列実行と同等の結果を保証
- Durability(永続性):コミット完了したトランザクションの更新結果は、以後の障害発生でも失われない
図解
図トランザクション処理の信頼性を保証する ACID 4大特性構成要素・基本原則
原子性(Atomicity)・一貫性(Consistency)・独立性(Isolation)・永続性(Durability)🏛 トランザクション処理の信頼性を保証する ACID 4大特性(中核を構成する 4 つの柱)
UNDO / ロールバック
Atomicity(原子性)
All or Nothing(すべて実行されるか、すべて取り消されるか)
口座振替の「A口座から引落し」と「B口座へ入金」のように、トランザクション内の全操作が一体不可分として扱われ、途中障害時はUNDOログによるロールバックで開始前の状態へ完全復元される。
整合性制約の保証
Consistency(一貫性・整合性)
トランザクション前後でDBの整合性制約や業務ルールを常に維持
主キーの一意性制約、外部キーの参照整合性制約、CHECK制約(残高≧0など)に違反するデータ更新を拒否し、データベースが矛盾のない正しい状態から正しい状態へ遷移することを保証する。
ロック / MVCC制御
Isolation(独立性・隔離性)
複数トランザクションの並行実行時に互いの途中状態を干渉させない
2相ロッキング(共有ロック・専有ロック)やMVCC(多版同時実行制御)を用い、複数処理を同時実行しても直列実行した場合と矛盾しない結果(直列化可能性・分離レベル制御)を保証する。
WAL / REDOログ
Durability(永続性・耐久性)
COMMIT完了応答後の更新結果はシステム障害が発生しても失われない
コミット時にWAL(ログ先行書込み)規約に基づいてREDOログを不揮発ストレージへ確実に書き出し、直後に電源断が起きても再起動時のロールフォワード処理で更新内容を復元する。
💡 午前・午後の必須知識:障害回復において「原子性(未完了トランザクションの取消)」はUNDOログ(ロールバック)、「永続性(コミット済みの反映)」はREDOログ(ロールフォワード)で実現する。
概要と本質
銀行振込やECサイトの決済処理など、途中で中断すると致命的な不整合が生じるデータ操作を正しく完結させるための基盤概念です。DBMSはWAL(Write-Ahead Logging)や排他ロック、MVCC(多版同時実行制御)を用いてACIDを担保します。
重要ポイント・コア概念
- Atomicity:障害時はログを用いたロールバック(UNDO)で初期状態に戻す
- Consistency:主キー制約、外部キー制約、NOT NULL制約などの整合性を維持
- Isolation:分離レベル(Read UncommittedからSerializableまで4段階)
- Durability:コミット時にWALログをディスクに永続化し、クラッシュ時はREDOで復元
応用情報(午前択一・午後長文記述)での出題・得点戦略
午前80問のテクノロジ系で計算問題や特性選択として頻出。午後データベース分野でも「デッドロックの回避策」「直列化可能性(Serializable)」「2相ロッキング規約」とセットで出題されます。
