|
|
|
|
|
by seanf
2991 days ago
|
|
Why do you consider choosing MySQL over Postgres a grave error? There are some cool features in Postgres. I am going to learn more about partial indexes, that looks useful! But there is plenty of precedent for large, successful MySQL projects. Uber, for example, switched from PostgreSQL to MySQL in 2016. https://eng.uber.com/mysql-migration/ |
|
Because PostgreSQL focuses on correctness & MySQL focuses on performance & ease of use. With a database, I want correctness first, and performance & ease of use second.
Many projects chose MySQL because it was easy to use & somewhat faster, and they didn't realise how broken it was initially. I am sure that many projects failed due to MySQL, and are now lost to history. Choosing MySQL over PostgreSQL betokened the kind of culture which chooses convenience over correctness, which is not the kind of culture I wish to associate myself with.
Over time, MySQL added more & more correctness, and PostgreSQL got faster & faster. As it turned out, PostgreSQL with the right performance flags is faster than MySQL with the right correctness flags.
In the specific case of Uber, it sounds like they're essentially using MySQL as the underlying storage mechanism for a key-value store, and are able to build the mechanisms they need atop it. Also, PostgreSQL less efficient for their usage patterns than MySQL. That makes sense, and seems like a sensible engineering decision. 'Essentially no reason to choose [MySQL] over PostgreSQL' doesn't mean no reason at all.
It's kinda like how sometimes it makes sense to write an inner loop in assembly, but it extraordinarily rarely makes sense to write a word processor in assembly in 2018.