#What is ACID in computer science?
##Atomicity
原子性。
全部実行、できない場合は全部実行されないことを保証する性質。
お金の送金の時、
- 送金元口座から1万円引く。
- 送金先口座に1万円足す。
この二つの処理が必ず全部実行されることを保証する。
##Consistency
一貫性、整合性という。
ルールを守る性質。
送金前後で送金元口座の残高がマイナスになる場合は処理を中止する。
##Isolation
独立性。
トランザクション中は他の操作から隠蔽される性質。
トランザクション中、実際
送金元から1万円引いた状態が発生するが、
外部からはその途中の過程が観測されない。
送金前状態か、送金後の状態しか見れない。
##Durability
永続性。
トランザクションが完了したらその状態が永続化される。
システム障害があっても、そのデータは永続性記憶装置にログを記録して、システム異常が発生しても異常直前のデータに取り戻すことができる。