Live data from Hacker News

Why Uber Engineering Switched from Postgres to MySQL (2016)

eng.uber.com

31–40 of 133 posts

Re: Why Uber Engineering Switched from Postgres to MySQL (2016)

#31
post #29
post #19

I spent a whole decade saying "Why do I need Postgres? MySQL is fine." Started using Postgres a couple of years ago, and I now can't believe I ever lived without window functions, native arrays, custom types, etc.

I’ve wanted to try post geese but have never really had a chance - everything I do is “prepackaged” and things like Wordpress or Confluence really don’t seem to care if it is MySQL or Postgres.

You should definitely have a gander.

Re: Why Uber Engineering Switched from Postgres to MySQL (2016)

#32
post #23
post #20

Earlier quoted context omitted.

What you are basically saying is that yes, they are much more complex.

It's another layer, you don't have to use it. If you pretend schemas don't exist you basically never know they do, unless you go looking for complexity in the postgres bowels.

To be honest, it's better to think of MySQL db = Postgres schema, because I'm MySQL you can do cross db queries and there is no intermediary schema level, and in Postgres you can do cross schema queries, but not cross db queries.

Re: Why Uber Engineering Switched from Postgres to MySQL (2016)

#33
post #29
post #19

I spent a whole decade saying "Why do I need Postgres? MySQL is fine." Started using Postgres a couple of years ago, and I now can't believe I ever lived without window functions, native arrays, custom types, etc.

I’ve wanted to try post geese but have never really had a chance - everything I do is “prepackaged” and things like Wordpress or Confluence really don’t seem to care if it is MySQL or Postgres.

I feel that pain! I knew MySQL so well that it felt risky to use a different database, yet if I used it on a non-serious project, how would I get real-world experience?

I learned a lot from a book from one of the core contributors to Postgres - https://theartofpostgresql.com/. It has actual real world examples with realistic datasets to experiment with.

Re: Why Uber Engineering Switched from Postgres to MySQL (2016)

#34
post #33
post #29

Earlier quoted context omitted.

I’ve wanted to try post geese but have never really had a chance - everything I do is “prepackaged” and things like Wordpress or Confluence really don’t seem to care if it is MySQL or Postgres.

I feel that pain! I knew MySQL so well that it felt risky to use a different database, yet if I used it on a non-serious project, how would I get real-world experience? I learned a lot from a book from one of the core contributors to Postgres - https://theartofpostgresql.com/ . It has actual real world examples with realistic datasets to experiment with.

I wish this resource existed (or that I knew it existed if it did) years ago.

I always seem to learn about the things that would have made my life easier after I've already done things the hard way.

Re: Why Uber Engineering Switched from Postgres to MySQL (2016)

#35
post #29

Earlier quoted context omitted.

I’ve wanted to try post geese but have never really had a chance - everything I do is “prepackaged” and things like Wordpress or Confluence really don’t seem to care if it is MySQL or Postgres.

You should definitely have a gander.

This really goosed my energy levels this morning!

Re: Why Uber Engineering Switched from Postgres to MySQL (2016)

#36
post #12
post #9

Earlier quoted context omitted.

Considering the US uses a weird date format, I definitely prefer the former in combination with input sanitation forcing you to thing about your actions before assuming the database will fix it for you.

Agreed. As with strong typing in programming languages, I do prefer a database to be strict in rejecting invalid inputs. MySQL does two bad things here: It accepts an invalid input plus it interprets it creatively, producing something the user most probably didn't intend. In that respect, MySQL is almost as bad as Excel creatively "interpreting" dates. Another example of a database doing improper things would be Orac…

https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sql-mo...

Much of your MySQL complaint is not a MySQL issue, but a config issue.

And yes, powerful config options are good, not bad.

Re: Why Uber Engineering Switched from Postgres to MySQL (2016)

#37

Previous discussions: 2016: https://news.ycombinator.com/item?id=12166585 2018: https://news.ycombinator.com/item?id=17280239 Community responses: - https://news.ycombinator.com/item?id=12216680 - https://news.ycombinator.com/item?id=12179222

The response was:

https://news.ycombinator.com/item?id=14222721

Re: Why Uber Engineering Switched from Postgres to MySQL (2016)

#39
post #8

Earlier quoted context omitted.

Define: "complicated"

PostgreSQL: "your date 2020-02-31 isn't a date, fix that" MySQL: "2020-02-31? Whatever man, I'll just enter something..."

That's not decreasing complexity, that's just shifting it out of the database layer.

See https://news.ycombinator.com/item?id=26272084

Post reply on HN