はじめに Uberの初期のアーキテクチャは、Pythonで書かれたモノリシックなバックエンドアプリで構成されており、データの永続性のために Postgres を使っていました。当時から比べて今のUberのアーキテクチャはかなり変わっており、 マイクロサービス のモデルや新しいデータプラットフォームになりました。特に、以前Postgresを使っていたケースの多くで、今は Schemaless 、つまりMySQLの上で構築された新しいデータベースのシャーディングレイヤを使います。今回の投稿では、私たちが見つけたPostgresの欠点を探り、MySQLの上でSchemalessと他のバックエンドサービスを構築するに至った経緯について説明していきます。 Postgresのアーキテクチャ 私たちはPostgresで以下のような多くの制約に直面しました。 書き込みでの非能率的なアーキテクチャ 非能率的
![なぜUber EngineeringはPostgresからMySQLに切り替えたのか | POSTD](https://cdn-ak-scissors.b.st-hatena.com/image/square/13acc786de09ace02d625b4523708f344c4abfe4/height=288;version=1;width=512/https%3A%2F%2Fpostd.cc%2Fwp%2Fwp-content%2Fuploads%2F2016%2F09%2FMySQL_Index_Property_Header_-500x214.png)