ACID’s “D”
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.