A transaction is an abstraction that provides some combination of the ACID properties.

This is just a concept. The trouble is we’ve created implementations of the concept that carry the same name. The result has been that we’ve forgotten about the concept and associate the term “transaction” typically with the RDBMS implementation of the concept.

This confusion can have significant impact when we get to design of a transactional system. What you really want to build is a system which provides the appropriate balance of ACID properties but what you usually end up doing is constructing your system around a database - i.e. we dumped design and went straight to a common implementation with no consideration for what we really set out to achieve.

And in a twist of irony, I was going to link to the ACID page over at Wikipedia but it makes the very mistake I’m blogging about! So instead I’ll point to Page 3 of Transaction Processing: Concepts and Techniques by Gray and Reuter.

Technorati Tags: , ,

Comments are closed.