Long-lived transaction

From HandWiki
Revision as of 09:31, 24 December 2020 by imported>Corlink (simplify)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A long-lived transaction is a transaction that spans multiple database transactions. The transaction is considered "long-lived" because its boundaries must, by necessity of business logic, extend past a single database transaction. A long-lived transaction can be thought of as a sequence of database transactions grouped to achieve a single atomic result.

A common example is a multi-step sequence of requests and responses of an interaction with a user through a web client.

A long-lived transaction creates challenges of concurrency control and scalability.

A chief strategy in designing long-lived transactions is optimistic concurrency control with versioning.

See also