Hi this post explores the difference between Atomic and Long Running transactions
Difference between Atomic Transaction and Long Running
Transaction
|
|
Atomic supports ACID properties - Enables a transaction to
automatically role back to a previous state in case the transaction does not
successfully complete.
|
Long Running supports only Consistency and Durability – No
automatically role back
|
Atomic supports calling of Non serializable dot net classes
|
Long running does not support non serializable dot net classes
|
Atomic transaction does not support nesting of transactions.
It can contain scope with Transaction - none
|
Long running transaction supports nesting of transaction, it can
contain both long running or atomic transaction.
|
Atomic transaction scope can have only Compensation blocks.
|
Long running transaction can have both exception handling blocks as
well as compensation blocks.
|
Atomic transaction scopes are always synchronized. (i.e. Synchronized
property is true)
|
In Long Running transaction scopes we need to set the synchronized
property to true or false.
|
Atomic have short execution time
|
Atomic have short to long execution time
|
Acquires data locks on Resource Managers (ex: SQL Server)
|
Does not acquire any data locks
|
Managed via Transaction Manager (ex:Microsoft Distributed Transaction
Coordinator - MSDTC)
|
No Transaction Manager Required
|
Operations succeed (commit) or fail (rollback) as a unit
|
Operations succeed (commit) or fail (rollback) independently
|
No comments:
Post a Comment