- Two-phase locking
- A locking discipline with three rules: lock every entity before accessing it, hold the lock until after access finishes, and acquire all locks before releasing any. Obeying it makes an execution equivalent to some serial execution of the same transactions.
- Serializability
- The correctness goal that a concurrent execution has the same effect as some non-interleaved serial execution of the same transactions. Because each transaction preserves consistency on its own, a serializable execution preserves it too.
- Phantom problem
- A row that appears or vanishes between operations of a transaction that retrieves records by field value, breaking serializability even though both transactions are two-phase locked. The fix is to lock the data item the retrieval actually consulted, such as an index entry or the end-of-table marker.
- Predicate lock
- A lock that names a set of records by a predicate over their field values, such as Location = 'Napa', rather than by their identities. Granting one requires checking that no other transaction holds a mutually satisfiable predicate lock on the same table.
- Intention lock
- A weak lock (IS or IX) set on a coarse entity to warn others that its owner holds or will hold finer-grained S or X locks on descendants. IS conflicts with X on the same entity, IX conflicts with both S and X, and SIX combines shared access to the entity with the right to X-lock its descendants.
- Degrees of consistency
- Gray's four-level hierarchy of locking protocols, distinguished by lock duration: degree 0 holds X locks only during the update, degree 1 holds them until commit, degree 2 adds short read locks, and degree 3 adds long read locks and is therefore two-phase locked. These are what SQL later called isolation levels.
- Compensating transaction
- A transaction run afterwards to change the effects of an already-committed transaction, since committing gives up the right to discard updates. The 1981 paper appears to be the first to introduce the concept, later generalized by sagas.
- Snapshot isolation
- A multiversion protocol in which a transaction reads the version of each entity with the largest commit timestamp at or before its start timestamp, and at commit aborts if any entity it wrote was updated by a transaction that committed later, the first-writer-wins rule. It prohibits all three ANSI phenomena yet still permits non-serializable executions.
- Paxos Commit
- An atomic commit protocol in which each resource manager's transition to the prepared state is decided by its own Paxos instance over a set of acceptors that stand in for backup transaction managers. Reaching consensus on prepare rather than on commit merges three-phase commit's two consensus rounds and saves a message delay.