ACID
Atomicity(原子性)
処理が全て成功するかすべて失敗するかのどちらかを保証する仕組み
COMMIT を発行して処理を確定させるが、それ前で失敗したら ROLLBACK で戻される
Consistency(一貫性/整合性)
あらかじめ設定された整合性を保つ
NOT NULL 制約とか
Isolation(独立性 / 分離性、隔離性)
他の処理に影響を与えず、それぞれの処理が矛盾なく行えることを保証
あるトランザクションがテーブルにレコードをを追加していたとしても、コミットされるまでは、ほかのトランザクションからはその新規に追加されたレコードは「見えない」状態にある
Durability(永続性/耐久性, 持続性)
一連のデータ操作を完了(COMMIT) し、完了通知をユーザーが受けた時点で、その操作が永続的となり結果が失われないことを示す
ACID を達成するために
ロックを使う