Long-running transaction

From Wikipedia, the free encyclopedia
(Redirected from Saga pattern)
Jump to navigation Jump to search

Long-running transactions (also known as the saga interaction pattern[1][2]) are computer database transactions that avoid locks on non-local resources, use compensation to handle failures, potentially aggregate smaller ACID transactions (also referred to as atomic transactions), and typically use a coordinator to complete or abort the transaction. In contrast to rollback in ACID transactions, compensation restores the original state, or an equivalent, and is business-specific. For example, the compensating action for making a hotel reservation is canceling that reservation.

A number of protocols have been specified for long-running transactions using Web services within business processes. OASIS Business Transaction Processing[3] and WS-CAF[4] are examples. These protocols use a coordinator to mediate the successful completion or use of compensation in a long-running transaction.

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).