If you used a relational database at all, you probably heard of transaction isolation levels. Transaction isolation levels have a massive impact on the behavior of your application - correctness, performance, and error rates. Your database may be distributed these days, so you may have to reason about distributed transactions too.
In this video, I explain transaction isolation levels with simple examples and why these levels barely make any sense. I conclude with a few examples of the complications involved in distributed transactions - and bad news about 2 phase commits.
----For more in-depth reading:
Transaction isolation in a 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
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More