Commit and rollback

To assure the ACID properties of a transaction, any changes made to data in the course of a transaction must be committed or rolled back.

When a transaction completes normally, a transaction processing system commits the changes made to the data; that is, it makes them permanent and visible to other transactions.

When a transaction does not complete normally, the system rolls back (or backs out) the changes; that is, it restores the data to its last consistent state.

Resources that can be rolled back to their state at the start of a transaction are known as recoverable resources: resources that cannot be rolled back are nonrecoverable.