Jim Johnson, who works on transaction technology at Microsoft’s Distributed Systems Group (aka „Indigo team“), shares an important insight on ACID’s “D” and that “Durable” doesn’t always mean “to disk”, but is rather relative to the resource lifetime. A transaction outcome can be “durably” stored in memory, if that’s what the characteristic of the resource underlying the resource manager (=transaction participant) is. That’s a very important perspective to have. Once you get away from the “transactions are heavy duty” thinking (because “D” seems to imply “disk” to many people), transactions, especially with “lightweight transaction managers” such as the one found in the .NET Framework 2.0’s System.Transactions.Ltm namespace (or the one I published a while back), suddenly become very attractive to coordinate and resolve fault conditions between components within a process.

Updated: