logoalt Hacker News

bitladyesterday at 11:23 PM6 repliesview on HN

PostgreSQL is good enough until it's not good enough, when you realize all the bad design decisions that were made before it hits scale. It is the decisions people make around not partitioning, HA, replication that makes it not good enough.


Replies

throwawayffffasyesterday at 11:27 PM

These are not bad decisions they are reasonable tradeoffs at the beginning.

Requiring HA, partitioning, and replication are good problems to have.

The alternative is spending engineering time on setting all these up for a failed service with like 100 users.

show 1 reply
anitilyesterday at 11:55 PM

I feel like any problem that Postgres can't handle is a good problem to have. Either you've got so many customers that you're hitting sharp edges, or you're working on such an interesting problem that you're out of the domain where Postgres is helpful. That I should be so lucky

show 1 reply
stuaxoyesterday at 11:26 PM

That's fine. There are plenty of projects that don't hit that scale.

show 1 reply
throwaway7783yesterday at 11:24 PM

Re: bad design decisions - This can be said about any technology.

show 1 reply
shepherdjerredtoday at 12:28 AM

Everything is "good enough until it's not good enough". That's engineering.

cyberaxyesterday at 11:34 PM

HA is now pretty good on Postgres.

As for scale... Just use a larger machine. This works for regular transactional data until you're at something like Amazon scale.

Edit:

Think about this, suppose that you store 1 megabyte of data for each of your customers. So if you have a million customers, it's just 1Tb. And these days, you can have a server with 10Tb RAM delivered overnight. Although you might have to sell your firstborn son (offer applies only to royal families) to fund it.

A lot of sharding/no-sql/... development happened in the late 2000-s when computers were about ~100 times less powerful than now. You _could_ get a system with 10Tb RAM in 2010, but as a specially-designed supercomputer.

show 1 reply