For the majority of webapps, I'm not sure the default isolation level of MySQL and Postgres is an appropriate tradeoff, since I'd rather have correctness by default than performance by default.
At that level of depth you just hand it over to the CSS champ or the DB champ.
Developers are blaming other developers for not knowing everything they do because businesses forced them to learn everything (Fullstack), but that's actually a bad arrangement and somehow the solution is to just punish the developers more rather than hiring DBAs.
> Developers are blaming other developers for not knowing everything they do because businesses forced them to learn everything (Fullstack), but that's actually a bad arrangement and somehow the solution is to just punish the developers more rather than hiring DBAs.
If the organization views developers as cogs or something like a software assembly line, the desire for interchangeable, unspecialized workers seems like a natural consequence.
It isn't purely a matter of number of users. You can have a billion users, but if your access pattern is embarrassingly isolated you are still probably okay. (And sharding is going to work great to boot.)
Any quality database abstraction provides fairly simple means to perform transactions.
/s
And most people with knowledge of DBs should run, not walk, away from a team that operates like that...
Does the app handle user accounts? Payments? Data editing? Multiple logins into the same account? Then it should handle races and transaction properly...
That said, it's true that they can be rare, and might be less worth it (engineering or time wise) than just letting it go.
For an app with like a few thousands users or internal use, the odds might be small.
But a fairly standard web app might serve 1M, or 10M or 100s of millions of people, and they deserve better.
So less features and slower performance to account for the hypothetical case where someone tries to edit their user account from 50 devices at once over and over again?
> But a fairly standard web app might serve 1M, or 10M or 100s of millions of people
You are talking about less than 0.5% of revenue generating SaaS apps.
Otherwise, you end up in the situation where every second person has a different set of pet skills and you can't hire anyone because they need to know all the skills perfectly.
But it depends on what you're doing and your market. I've worked with people who took a pay cuts to go work for FAANG, after several interviews which they've studied for but I've decided it's not really needed when you're just writing a little in house CRUD webapp.