基本情報技術者、応用情報技術者、データベーススペシャリストでよく出題される「ACID特性」を紹介します。
- ACID特性とは
- 原子性 (Atomicity:アトミシティ)
- 一貫性 (Consistency:コンシステンシー)
- 独立性 (Isolation:アイソレーション)
- 耐久性 (Durability:デュラビリティ)
- ACID特性を確保するための機能
ACID特性とは
データベースのトランザクションが満たすべき4つの特性(原子性・一貫性・独立性・永続性)をまとめて『ACID特性』といいます。
原子性 (Atomicity:アトミシティ)
原子性は、トランザクション内の処理がすべて実行されるか、または全く実行されないことを保証する特性です。
トランザクションがCOMMITまたはROLLBACKのいずれかで終了し、途中で終わることがない特性です。
一貫性 (Consistency:コンシステンシー)
一貫性は、トランザクション処理の実行前、実行後でデータの整合性が保証される特性です。
整合性と表現されることもあります。
独立性 (Isolation:アイソレーション)
独立性は、トランザクションが同時に実行している他のトランザクションから影響を受けず、複数のトランザクションを並列に実行した場合、順番に実行した場合の結果が等しくなることを保証する特性です。
隔離性と表現されることもあります
耐久性 (Durability:デュラビリティ)
耐久性は、正常終了したトランザクションの結果について、その後障害が起こっても回復できることを保証する特性です。
永続性と表現されることもあります。
ACID特性を確保するための機能
| ACID特性 | 特性を確保するための機能 |
|---|---|
| 原子性 | コミットメント制御 (COMMIT、ROLLBACK) |
| 一貫性 | 排他制御 / 同時実行制御 |
| 独立性 | 排他制御 / 同時実行制御 |
| 耐久性 | 障害回復 (トランザクションログ、バックアップ) |
以上、お読みいただきありがとうございました。