Avatar of conor
Tech Brand Mgr, Office of CTO at Uber

Our most popular (& controversial!) article to date on the Uber Engineering blog in 3+ yrs. Why we moved from PostgreSQL to MySQL. In essence, it was due to a variety of limitations of Postgres at the time. Fun fact -- earlier in Uber's history we'd actually moved from MySQL to Postgres before switching back for good, & though we published the article in Summer 2016 we haven't looked back since:

The early architecture of Uber consisted of a monolithic backend application written in Python that used Postgres for data persistence. Since that time, the architecture of Uber has changed significantly, to a model of microservices and new data platforms. Specifically, in many of the cases where we previously used Postgres, we now use Schemaless, a novel database sharding layer built on top of MySQL (https://eng.uber.com/schemaless-part-one/). In this article, we鈥檒l explore some of the drawbacks we found with Postgres and explain the decision to build Schemaless and other backend services on top of MySQL:

https://eng.uber.com/mysql-migration/

READ LESS
Why Uber Engineering Switched from Postgres to MySQL | Uber Engineering Blog (eng.uber.com)
6 upvotes1 comment85.2K views
Adrien Nayrat
Adrien Nayrat
December 21st 2018 at 5:47pm

https://thebuild.com/presentations/uber-perconalive-2017.pdf

https://blog.2ndquadrant.com/thoughts-on-ubers-list-of-postgres-limitations/

https://use-the-index-luke.com/blog/2016-07-29/on-ubers-choice-of-databases

Reply
Avatar of Conor Myhrvold

Conor Myhrvold

Tech Brand Mgr, Office of CTO at Uber