Conversation

Fascinating disconnect I’ve seen on this one: - academic researchers: SERIALIZABLE isn’t the default? But everyone enables it first thing, right? - database users: SERIALIZABLE exists?
Quote Tweet
"Why isolation level serializable is not the default?" reddit.com/r/Database/com Oh my.
19
115
Replying to
SERIALIZABLE may perform quite well on average, but is more prone to pathological performance issues from deadlocks, retries, and so on (as a general rule). So while arguments like "the safest isolation level should be the default" have validity, they also cut both ways.
1
8
Academic researchers and DB practitioners do see eye to eye on (say) how guarantees around durability ought to work. Isolation levels are different, somehow. That's my point. Speculation: if you make serializable the default, many more users complain "my DB is broken".
1
3
So ISTM that it's not primarily about winning on benchmarks at any cost. It's about what application developers are willing to tolerate in the real world. (I'm not taking a position on what application developers *ought* to do. This explanation seems to fit best, is all.)
1
1
Right. Pessimistic vs optimistic locking may be a performance decision. Read Commited is about not having to build a retry logic in the application (at the price of having to think about race condition correctness) of course a bad retry logic may be bad for performance
3
7
Show replies