Long-lived transaction

From HandWiki

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.[1]

See also

References

  1. ↑ Xing, Zhaowen; Gruenwald, Le; Song, Seokil (2010). "An optimistic concurrency control algorithm for mobile ad-hoc network databases" (in EN). Proceedings of the Fourteenth International Database Engineering & Applications Symposium on - IDEAS '10 (New York, New York, USA: ACM Press): 199–204. doi:10.1145/1866480.1866509. https://dl.acm.org/doi/abs/10.1145/1866480.1866509.