A long-lived transaction is a
transaction
Transaction or transactional may refer to:
Commerce
* Financial transaction, an agreement, communication, or movement carried out between a buyer and a seller to exchange an asset for payment
*Debits and credits in a Double-entry bookkeeping sys ...
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
In information technology and computer science, especially in the fields of computer programming, operating systems, multiprocessors, and databases, concurrency control ensures that correct results for Concurrent computing, concurrent operations a ...
and
scalability
Scalability is the property of a system to handle a growing amount of work by adding resources to the system.
In an economic context, a scalable business model implies that a company can increase sales given increased resources. For example, a ...
.
A chief strategy in designing long-lived transactions is
optimistic concurrency control Optimistic concurrency control (OCC), also known as optimistic locking, is a concurrency control method applied to transactional systems such as relational database management systems and software transactional memory. OCC assumes that multiple tran ...
with
versioning.
See also
*
Long-running transaction
Long-running transactions (also known as the saga interaction pattern) are computer database transactions that avoid lock (computer science), locks on non-local resources, use compensation to handle failures, potentially aggregate smaller ACID tran ...
Data management
Transaction processing
{{software-eng-stub