Discussion about this post

User's avatar
Gowtham Kaki's avatar

I don’t get it. Doesn’t Atomicity guarantee that a transaction is executed to its natural end? And if the transaction is buggy, it would break application semantics regardless of what the database does. So what does C really do here?

Expand full comment
Mihail Daskalov's avatar

I would like to add, that if you try to look at the combination of an application and a database managed by an database engine as a database system, then it all becomes obvious. The information system itself has a transaction, and that should be consistent. It should be consistent with the activity performed by the user, and the business rules of the organization(s) who own()s and operates the information system (aka database system).

This terminology perspective could also be extended to distributed systems (which could just be looked as system of systems).

Having to deal almost on a daily basis with the effects of eventual consistency (i.e. when some extracted some data in Excel and then compares it with something else in another Excel extracted at some different point in time, based on potentially different rules), I dream about the C letter. Unfortunately reality is not what we always want. I would also like people to be able to freely walk and talk on the streets, or play together - but this is not the current state.

Or maybe that is because we are in transition, or in other words - in a long running transaction :-) .

Expand full comment
16 more comments...

No posts