Live data from Hacker News

Things I hate about PostgreSQL (2020)

rbranson.medium.com

21–30 of 255 posts

Re: Things I hate about PostgreSQL (2020)

#21
I think this is a good list, one needs to know potential pitfalls and plan accordingly.

As for point #7, if your upgrade requires hours, you are holding it wrong, try pg_upgrade --link: https://www.endpoint.com/blog/2015/07/01/how-fast-is-pgupgra...

(as usual, before letting pg_upgrade mess with on disk data, make proper backups with pg_basebackup based tools such as barman).

Re: Things I hate about PostgreSQL (2020)

#22
post #8

I think it’s worth mentioning that most of these problems only occur at a scale that only top 1% of companies will reach. I’ve been using PostgreSQL for over a decade without reaching any of the mentioned scaling-related problems. PostgreSQL is still the best general purpose database in my opinion, and you can then consider using something else for parts of your application if you have special needs. I’ve used Cassan…

The problem is that you want to build something that can scale in the future.

Its better to work on getting all those users before planning what color the ferrari will be..

Re: Things I hate about PostgreSQL (2020)

#23
post #8

I think it’s worth mentioning that most of these problems only occur at a scale that only top 1% of companies will reach. I’ve been using PostgreSQL for over a decade without reaching any of the mentioned scaling-related problems. PostgreSQL is still the best general purpose database in my opinion, and you can then consider using something else for parts of your application if you have special needs. I’ve used Cassan…

PostgreSQL is great, but I don't think your statement is particularly true.

Process per connection is pretty easy to accidentally run into, even at small scale. So now you need to manage another piece of infrastructure to deal with it.

Downtime for upgrades impacts everyone. Just because you're small scale doesn't mean your users don't expect (possibly contractually) availability.

Replication: see point above.

General performance: Query complexity is the other part of the performance equation, and it has nothing to do with scale. Small data (data that fits in RAM) can still be attacked with complex queries that can benefit from things such as clustered index and hints.

Re: Things I hate about PostgreSQL (2020)

#24
post #22

Earlier quoted context omitted.

The problem is that you want to build something that can scale in the future.

Its better to work on getting all those users before planning what color the ferrari will be..

Exactly. That's why it would be good to have a system which is prepared for scaling in the future.

Re: Things I hate about PostgreSQL (2020)

#25
post #8

I think it’s worth mentioning that most of these problems only occur at a scale that only top 1% of companies will reach. I’ve been using PostgreSQL for over a decade without reaching any of the mentioned scaling-related problems. PostgreSQL is still the best general purpose database in my opinion, and you can then consider using something else for parts of your application if you have special needs. I’ve used Cassan…

The problem is that you want to build something that can scale in the future.

ffs, this attitude causes massively more problems than it solves.

1. You can always change later. Uber switched from Postgres to MySQL when they had already achieved massive scale.

2. You don't know what scaling problems you're going to get until you've scaled.

3. Systems designed to scale properly sacrifice other abilities in order to do that. You're actively hurting your velocity with this attitude.

4. Every single expert in the field who has done this, says to start with a monolith and break it out into microservices as the product matures. Yet every startup is founding on K8s because "we'll need it when we hit scale so we might as well start with it"

5. Twitter's Fail Whale - the problems that failing to scale properly bring are less than the problems of not being flexible enough in the early stages.

Build it simple, and adapt it as you go. Messing up your architecture and slowing down your development now to cope with a problem you don't have is crazy.

Re: Things I hate about PostgreSQL (2020)

#26

Earlier quoted context omitted.

The problem is that you want to build something that can scale in the future.

I think I've heard a saying about this, something about premature optimisation...

Sure you shouldn't care about scaling at the beginning. But why should you start using a system that you already know won't scale in the future?

Re: Things I hate about PostgreSQL (2020)

#27
post #8

I think it’s worth mentioning that most of these problems only occur at a scale that only top 1% of companies will reach. I’ve been using PostgreSQL for over a decade without reaching any of the mentioned scaling-related problems. PostgreSQL is still the best general purpose database in my opinion, and you can then consider using something else for parts of your application if you have special needs. I’ve used Cassan…

>I think it’s worth mentioning that most of these problems only occur at a scale that only top 1% of companies will reach.

If you're talking about 1% of all software companies, then it's not true. You don't need to be B2C company with XXX millions users to have a lot of data.

>PostgreSQL is still the best general purpose database in my opinion, and you can then consider using something else for parts of your application if you have special needs.

Well, yes, you're already talking about one mitigation strategy to not get to this scaling problems.

Re: Things I hate about PostgreSQL (2020)

#30
post #8

I think it’s worth mentioning that most of these problems only occur at a scale that only top 1% of companies will reach. I’ve been using PostgreSQL for over a decade without reaching any of the mentioned scaling-related problems. PostgreSQL is still the best general purpose database in my opinion, and you can then consider using something else for parts of your application if you have special needs. I’ve used Cassan…

Not true - I work at a company of 400 people, and we ran into the Process-Per-Connection / pgbouncer issue.
Post reply on HN