概要
ACID特性とは、
データベースにおけるトランザクション処理の信頼性を保証するための4つの基本的な性質をまとめたものです。
これにより、データベースの一貫性を保ちながら安全にデータを扱うことができます。
正式名称
- Atomicity(アトミシティ:原子性)
- Consistency(コンシステンシー:一貫性)
- Isolation(アイソレーション:独立性/隔離性)
- Durability(デュラビリティ:永続性)
略称
ACID(アシッド)
特徴
- 原子性(Atomicity)
- トランザクション内の処理はすべて実行されるか、まったく実行されないかのどちらかである。
- 一貫性(Consistency)
- トランザクション実行前後で、データベースが常にルールや制約を満たしている状態を保つ。
- 独立性(Isolation)
- 複数のトランザクションが同時に実行されても、それぞれが互いに干渉せずに処理される。
- 永続性(Durability)
- トランザクションが完了(コミット)した内容は、障害が起きても失われない。
具体例
- 原子性:銀行振込で「Aさんの口座から1万円引き落とす」処理と「Bさんの口座に1万円振り込む」処理のどちらか
片方だけが行われることはない。 - 一貫性:銀行の残高がマイナスにならないといったルールを必ず守る。
- 独立性:複数人が同時に同じ商品を購入しても、在庫数が正しく更新される。
- 永続性:注文処理が完了した後、システムがクラッシュしても注文データは消えない。
関連用語
用語 | 解説 |
---|---|
トランザクション | 一連の処理のまとまり(例:銀行振込や商品購入)。 |
コミット(Commit) | トランザクションを確定する操作。 |
ロールバック(Rollback) | エラー発生時にトランザクションを元に戻す操作。 |
整合性制約 | データベースのルール(例:主キー制約、外部キー制約)。 |
同時実行制御 | 複数トランザクションを安全に処理するための仕組み。 |