zlacker

[return to "What Is a Database Transaction?"]
1. MHorde+E7[view] [source] 2026-02-22 13:44:31
>>0x54MU+(OP)
I’ve found this article lacking. Like some other articles in this space, it introduces isolation levels through the lens of the phenomena described in the SQL standard, but I find that there’s a different, more intuitive approach.

I think it’s more tractable to define this problem space starting from the concept of (strict) serializability, which is really a generalization of the concept of thread safety. Every software engineer has an intuitive understanding of it. Lack of serializability can lead to execution-dependent behavior, which usually results in hard-to-diagnose bugs. Thus, all systems should strive towards serializability, and the database can be a tool in achieving it.

Various non-serializable levels of database transaction isolation are relaxations of the serializability guarantee, where the database no longer enforces the guarantee and it’s up to the database user to ensure it through other means.

The isolation phenomena are a useful tool for visualizing various corner cases of non-serializability, but they are not inherently tied to it. It's possible to achieve serializability while observing all of the SQL phenomena. For example, a Kubernetes cluster with carefully-written controllers can be serializable.

◧◩
2. Rapzid+9c[view] [source] 2026-02-22 14:22:48
>>MHorde+E7
https://aphyr.com/posts/327-jepsen-mariadb-galera-cluster

More notation, more citations, more better.

◧◩◪
3. peterc+Fd[view] [source] 2026-02-22 14:33:07
>>Rapzid+9c
Looks like the author is geoblocking in protest of the UK Online Safety Act (and fair enough).
[go to top]