Over the holidays, the topic of transactions flared up on Twitter amongst a number of distributed systems .NET luminaries and it turned out that there isn't always clear agreement even about the basic notions around transaction technology as the overall technology stack has evolved and there are now databases that sit entirely in memory, for instance. Can those databases participate in a distributed transaction even if they're not "durable"?
What are the challenges around making two or more things work together? Do I even care?
To start that discussion, this episode is an introduction to what transactions are and what they're for and I am explaining the "traditional" transaction properties using a few low-tech non-code examples and a little role play with the help of my teammates Will Perry (@willpe) and Abhishek Lal (@AbhishekRLal)
For some good depth information on the subject of transaction isolation, you might find the respective Wikipedia article useful that comes with a range of examples.