Transaction Isolation - Demystified!

Опубликовано: 02 Ноябрь 2024
на канале: SaaS Developer Community
970
31

If you used a relational database at all, you probably heard of transaction isolation levels. Transaction isolation levels have huge impact on the behavior of your application - correctness, performance and error rates. These days your database may be distributed, so you may have to reason about distributed transactions too.

In this video, I explain transaction isolation levels with simple examples, then I explain why these levels barely make any sense. I conclude with few examples of the complications involved in distributed transactions - and bad news about 2 phase commits.

----
For more in-depth reading:

Transaction isolation in few popular DBs:
https://asktom.oracle.com/Misc/oramag...
https://dev.mysql.com/doc/refman/8.0/...
https://www.postgresql.org/docs/curre...

The paper where Microsoft Research absolutely burns ANSI SQL 92 transaction isolation: https://arxiv.org/pdf/cs/0701157.pdf

Why transactions matter: http://www.bailis.org/blog/understand...

Super clear explanation of serialization anomalies: https://justinjaffray.com/what-does-w...

Daniel Abadi on distributed transaction anomalies (I borrowed heavily from this in the second part of the video): https://dbmsmusings.blogspot.com/2019...

Jepsen putting together isolation and distributed consistency: https://jepsen.io/consistency