トランザクションの ACID プロパティー

トランザクション処理における ACID という頭字語は、原子性 (A)、一貫性 (C)、独立性 (I)、および耐久性 (D) というトランザクションの 4つの重要なプロパティーを表しています。

原子性
データに対するすべての変更が、単一の操作であるかのように実行されます。 すなわち、すべての変更が実行されるか、まったく行われないかのいずれかになります。
例えば、ある口座から別の口座に資金を移動するアプリケーションで、原子性プロパティーは、ある口座から引き落としが正常に行われると、対応する入金が別の口座に行われることを保証します。
一貫性
トランザクションの開始時と終了時で、データが一貫性のある状態になっています。
例えば、ある口座から別の口座に資金を移動するアプリケーションで、一貫性プロパティーは、各トランザクションの開始時と終了時で、両方の口座の資金の合計金額が同じになることを保証します。
独立性
トランザクションの中間状態は、他のトランザクションからは見えません。 その結果、並行して実行されるトランザクションが直列化しているように見えます。
例えば、ある口座から別の口座に資金を移動するアプリケーションで、独立性プロパティーは、別のトランザクションから見て移動資金がいずれかの口座に存在していて、両方に存在していたりどちらにも存在しなかったりすることはないことを保証します。
耐久性
トランザクションが正常に終了したら、データへの変更は永続的なものになり、システム障害が発生した場合であっても、元に戻されることはありません。
例えば、ある口座から別の口座に資金を移動するアプリケーションで、耐久性プロパティーは、それぞれの口座に対して行われた変更が元に戻されることはないことを保証します。