Do we fear the serializable isolation level more than we fear subtle bugs (2024)
- Databases
- Programming
- Security
- Infrastructure
The post makes a straightforward case for serializable isolation as the safer default in relational databases. It points to real bugs and vulnerabilities caused by weaker isolation levels, then argues that the industry fears the performance cost of serializable more than it fears silent correctness failures. The key idea is simple. Developers routinely assume their transactions behave as if they ran one at a time, while many production databases default to weaker models like read committed or snapshot-style behavior that permit surprising anomalies.
If your product depends on the database to resolve races, treat isolation level as an explicit architectural choice, not a hidden default. Either standardize on retry-safe transactions and use stronger isolation where correctness matters, or document the anomalies you are willing to accept and design around them.
- blog.ydb.tech
- Discuss on HN