Difference between Atomic Transaction versus Long Running Transaction in BizTalk Server - Quick Interview Question

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: