For decades, database systems have given their users multiple isolation levels to choose from, ranging from some flavor of “serializability” at the high end down to “read committed” or “read uncommitted” at the low end. These different isolation levels expose an application to markedly different types of concurrency bugs. Nonetheless, many database users stick with the default isolation level of w
![Demystifying Database Systems, Part 1: An Introduction to Transaction Isolation Levels](https://cdn-ak-scissors.b.st-hatena.com/image/square/e88fb064fa68b8ba74bc1b0d5b727f3f2e667278/height=288;version=1;width=512/https%3A%2F%2Fimages.ctfassets.net%2Fpo4qc9xpmpuh%2F2Rlcn6Yd4sZbAwwFao7mZ8%2F6e070787109522bbb790853ec4b56142%2Fdds-1.png)