
A PostgreSQL Response to Uber - rfks
http://thebuild.com/blog/2017/04/28/a-postgresql-response-to-uber/
======
saurik
There was already detailed conversation on this well over a week ago.

[https://news.ycombinator.com/item?id=14222721](https://news.ycombinator.com/item?id=14222721)

------
erulabs
> "I assume the company the size of Uber can figure it out. C’mon"

Really? Is there no acceptance that the state of PostreSQL replication is a
huge hot mess? The fact that Uber couldn't figure it out should be a huge
giant red flag about _both_ Uber's DBAs and _also_ the state of Postgres!

> "Uber had a lot of long-running transactions because [they were doing it
> wrong]"

pool-of-threads is a much better and much more defensive connection model.
It's why NGINX beat out Apache - people LONG AGO realised process-on-request
is terrible. How this can be shrugged off when pool-of-threads is easily one
of MySQL's best features is a bit shocking. Has this guy ever been on-call for
a web application before?

> Great for WordPress.

Lol! Bitter much?

~~~
xupybd
I'd agree with your point about replication. PostgreSQL is amazing but falls
over in a HA setting. If people are willing to put up with MySQL to get good
replication, that speaks volumes. That said I'm hoping this will soon change
in 10 ~fingers crossed~.

~~~
bfrog
HA is relatively painless even with 9.x if your ok with wal replication. The
problem there though is like they say in the paper, the amount of crap that is
sent over the wire is pretty substantial.

------
jack9
> Naïve users can be surprised by query cancellation messages.

Irrelevant

> Is this better or worse? Why? Uber doesn't say

It's worse. Obviously. Now you have introduced a race condition that only
appears at load. Don't do this.

Fail fast and fail often.

> Great for WordPress.

Mocking, within the presentation, is not compelling.

> The consistent comparison of logical vs binary replication is maddening

There's no mention of community support around the logical replication.
Statistically, nothing you look for will reference or confirm that the side
feature added "years and years" ago, includes all the features from the binary
form. Yes this is FUD-talk, but I'd be interested to know if Uber ran in to
practical problems. When working with a complex software product, it's not
uncommon for some less used product features to be broken, missing, or marked
as "not going to fix" (e.g. Databricks, Silverlight) because they were less
used and/or less important to the product aim.

This feels a lot like systemd debates (both in nomenclature and pragmatism).

