Live data from Hacker News

Thoughts on Uber’s List of Postgres Limitations

blog.2ndquadrant.com

71–80 of 108 posts

Re: Thoughts on Uber’s List of Postgres Limitations

#71
post #34

Earlier quoted context omitted.

That second point is a really unnecessarily belittling straw man, and I think such comments are counterproductive to the discussion.

I don't know, if you're going to critique the very talented engineers at Uber, seeing your blog fall over due to capacity doesn't lend you a lot of credibility.

First, it's unlikely that they wrote the blog software. Second, a critique should be based on the merits of the content, not the person delivering it.

Re: Thoughts on Uber’s List of Postgres Limitations

#72
post #34

Earlier quoted context omitted.

That second point is a really unnecessarily belittling straw man, and I think such comments are counterproductive to the discussion.

I disagree. When you put yourself on stage to criticize another, you open yourself up to criticism. And in this case, his little blog didn't scale, and it was rightfully pointed out. It's not terribly nice, but the comment is true, and relevant.

If you're stupid enough to think that blog software reflects on the contents of the blog, then you're likely not going have the critical thinking capacity to evaluate any of these criticisms anyway.

Re: Thoughts on Uber’s List of Postgres Limitations

#73
post #34

Earlier quoted context omitted.

That second point is a really unnecessarily belittling straw man, and I think such comments are counterproductive to the discussion.

An hour or two worth of work with varnish and you pretty much solve that problem. In 2016, that's the sort of thing I'd expect anyone competent rolling their own platform to be doing. If you're not using some off the shelf blogging platform (like blogger, wordpress.com, medium, tumblr, or infinity others that are free and not too bad) then that means you are trying to prove a point in hosting your own thing. If you c…

>then that means you are trying to prove a point in hosting your own thing

No it doesn't. Stop projecting.

Re: Thoughts on Uber’s List of Postgres Limitations

#74
post #7

I think its worth mentioning again that what Uber ended up using has no resemblence to an RDBMS (single table, manual indexes). So regardless of whether their complaints are justified or not, it should not be taken as an endorsment of mySQL over postgres, but rather of an endorsement of NoSQL over RDBMS . Which is really just what every company at these scales do (except for google and f5 if whitepapers are to be con…

For scalable SQL products, I'd consider Google's Spanner to be in that boat. There is actually a class of products trying to do this under the name of NewSQL[0]. CockroachDB seems to be mimicking spanner's design principles and deliver a similar product[1].

[0] https://en.wikipedia.org/wiki/NewSQL

[1] https://github.com/cockroachdb/cockroach#design

Re: Thoughts on Uber’s List of Postgres Limitations

#75

'Error establishing database connection' How very meta.

The site is powered by Wordpress, which, to the best of my knowledge, can work only with MySQL. Now that is very meta.

It can work with MariaDB as well, though it's just a Fork of MySQL so hard to say if that counts.

Re: Thoughts on Uber’s List of Postgres Limitations

#77
post #28

Earlier quoted context omitted.

The "relationalness" is/was not really important here. It's all about MVCC and how storage engines handle it. Postgres is lacking in these scenarios, whereas a particular fine tuned version (or fork) of InnoDB (or MyRocks or whatever they end up chosing) handles this better. See Facebook's "mysql-5.6" branch, that has hundreds of patches piled on to support especially these taxing workloads.

Well, for that matter, as I understood it, they also have no transactions nor atomicity and are basically eventually consistant , though these I'm simply inferring from their posts, it was not stated as far as I can remember. So MVCC also has almost zero bearing on what they are doing.

Just because you may not always use the database with the BEGIN/COMMIT semantics, that absolutely does not mean that "MVCC has almost no bearing on what they are doing".

MVCC and how it has been implemented in the two storage engines in discussion here absolutely has a lot to do with it.

Re: Thoughts on Uber’s List of Postgres Limitations

#78

Earlier quoted context omitted.

Well, the relational model does not describe or contain a notion of table really, so I guess you could model it in any way you want, even within a single table. But I think that's a mute point, I doubt they kept any part of the relational model inside their schemaless database.

Probably just an auto-correct mistake, but you mean "that's a moot point".

Autocorrect, don't take it for granite.

Re: Thoughts on Uber’s List of Postgres Limitations

#79
post #21

Potentially the most useful part of this post to me was this part > 2ndQuadrant is working on highly efficient upgrades from earlier major releases, starting with 9.1 → 9.5/9.6. I hadn't heard of that before. Anybody know more about this? I'm currently babysitting a 9.1 deployment which we desperately want to get upgraded. The amount of downtime this can tolerate a very limited and I was currently tasked with coming…

9.1 to 9.5/9.6 upgrade should be available for customers by Oct

Re: Thoughts on Uber’s List of Postgres Limitations

#80
post #21

Potentially the most useful part of this post to me was this part > 2ndQuadrant is working on highly efficient upgrades from earlier major releases, starting with 9.1 → 9.5/9.6. I hadn't heard of that before. Anybody know more about this? I'm currently babysitting a 9.1 deployment which we desperately want to get upgraded. The amount of downtime this can tolerate a very limited and I was currently tasked with coming…

That paragraph might be clearer, but Simon is referring to supporting logical replication from 9.1 to recent releases, which essentially means backporting logical decoding (added in 9.4) back to 9.1. There's no way this could get to official 9.1 branch, as that'd be a major risk / behavior change.

Making "zero downtime" upgrades possible is part of the whole logical replication effort - both within the community and in 2ndQuadrant in particular.

Petr Jelinek actually described how to do that using UDR (uni-directional logical replication) in 2014:

https://wiki.postgresql.org/images/a/a8/Udr-pgconf.pdf

There might be a newer talk somewhere, I'm sure he spoke about it on several events.

Post reply on HN