When most database programmers refer to a transaction, they are referring to an ACID transaction. These transactions (logical unit of work) are designed for short-lived decisions usually lasting under a few seconds.
These transactions identify a logical unit of work that is either performed in complete or not at all. That is, either a COMMIT or a ROLLBACK is performed on the operations. This enables the data to maintain a state of consistency.
ACID is an acronym:
* A = Atomic – Transactions are atomic (all or none)
* C = Consistency – A consistent state of the database may be expected at all times.
* I = Isolation – Transactions are isolated from another; race conditions ensure that multiple transaction instances attempts do not collide.
* D = Durable – Once a transaction commits, it’s updates survive even, if the system goes down.