In
computer science -- more specifically, in the field of
databases --
concurrency control is a method used to ensure that
database transactions are executed in a safe manner (i.e., without data loss). Concurrency control is especially applicable to
relational databases and
database management systems, which must ensure that transactions are executed safely and that they follow the
ACID rules. The DBMS must be able to ensure that only serializable, recoverable schedules are allowed, and that no actions of committed transactions are lost while undoing aborted transactions.
- Atomicity - either all or no operations are completed. (UNDO)
- Consistency - all transactions must leave the database in consistent state
- Isolation - transactions cannot interfere with each other
- Durability - successful transactions must persist through crashes (REDO)
There are several methods to concurrency control, the majority of which uses Strict 2PL locking:
Locks are bookkeeping objects associated with a database object.
There are also Non-lock concurrency control methods.
See also
All Wikipedia text
is available under the
terms of the GNU Free Documentation License