| ▲ | jiggawatts 20 hours ago | |||||||
> Odds are, your project won't scale past a scale of 10,000 to 100,000. That may be a self-fulfilling prophecy. I agree in general that most apps don't need fancy scaling features, but apps that can't scale... won't... and hence "don't need scaling features". > You won't ever run into the problems of scale in this app, and single-file databases have unique advantages when your scale is small. I saw a customer start off with essentially a single small warehouse selling I dunno... widgets or something... and then the corporation grew and grew to a multi-national shipping and logistic corporation. They were saddled with an obscure proprietary database that worked like SQLite and had incredibly difficult to overcome technical challenges. They couldn't just migrate off, because that would have needed a massive many-year long total rewrite of their app. For one performance issue we were seriously trying to convince them to use phase-change cooling on frequency-optimized server CPUs like a gamer overclocking their rig because that was the only way to eke out just enough performance to ensure their overnight backups didn't run into the morning busy time. That's just not an issue with SQL Server or any similar standard client-server database engine. | ||||||||
| ▲ | jkrejcha 18 hours ago | parent [-] | |||||||
I think part of that thinking though is that if you do basic stuff like use a standard database engine or don't go too off the beaten path if that's what you need, it tends to be that you get the ultimately needed scale for basically free. This is a lot of times what I see the "don't build for huge scale" to be. It's not necessarily "be proud of O(n^2) algorithms". Rather it's more "use Postgres instead of some hyperscale sharded database when you only have 10 million users" because the alternative tends to miss the forest (and oftentimes the scale, ironically) for the trees | ||||||||
| ||||||||