8. Transactions
8.12 Terminology introduced here
Terminology introduced here
70- transaction
- commit / abort / rollback
- safety guarantees
- ACID
- BASE
- atomicity / abortability
- ACID consistency / invariants / constraints
- isolation
- serializability
- durability
- `fsync`
- multi-object transaction
- single-object write
- atomic increment
- conditional write / compare-and-set (CAS)
- cascading aborts
- read committed
- read uncommitted
- dirty read
- dirty write
- row-level lock
- read skew / nonrepeatable read
- snapshot isolation
- repeatable read
- multiversion concurrency control (MVCC)
- transaction ID (txid)
- `inserted_by` / `deleted_by`
- visibility rules
- garbage collection
- immutable / copy-on-write B-tree
- lost update
- clobbering
- read-modify-write cycle
- `SELECT FOR UPDATE`
- deadlock
- optimistic locking
- siblings
- commutative operations
- write skew
- phantom
- materializing conflicts
- actual serial execution
- stored procedure
- state machine replication
- two-phase locking (2PL)
- shared / exclusive lock
- growing / shrinking phase
- predicate lock
- index-range lock / next-key locking
- serializable snapshot isolation (SSI)
- pessimistic vs optimistic concurrency control
- premise
- tripwire
- distributed transaction
- atomic commitment problem
- two-phase commit (2PC)
- coordinator / transaction manager
- participant
- prepare request
- commit point
- in doubt / uncertain
- blocking atomic commit protocol
- three-phase commit (3PC)
- database-internal vs heterogeneous distributed transactions
- exactly-once semantics
- X/Open XA
- JTA / JDBC / JMS
- orphaned in-doubt transaction
- heuristic decision
- idempotence