Uber工程师在官方博客上描述了他们为什么要从Postgres切换到MySQL数据库。Uber的早期架构是由 Python编写的后端应用构成,使用了 Postgres 数据库。但此后,Uber的架构发生了显著的改变,转变到了微服务模型和新的数据平台。
以前他们使用 Postgres,现在则改用了基于 MySQL 的数据库分片层。Uber工程师称他们之所以切换到Schemaless和其它基于 MySQL 的后端服务,最主要的原因是Postgres 数据复制效率低下,Postgres更新已有行的效率低于 MySQL,Postgres需要重写每一个行索引,而MySQL只更新改变的索引。