Sitemap

Member-only story

Uber’s Schemaless Journey: Building a NoSQL Database for Trillion Operations

3 min readJun 9, 2025

--

In 2013, Uber was growing fast — faster than PostgreSQL could scale with it. What started as a ridesharing app built on a monolithic relational database soon ran into the hard limits of vertical scaling, consistency constraints, and operational overhead. The solution? Schemaless — Uber’s custom-built, distributed NoSQL storage system designed to handle trillions of write operations per day.

Press enter or click to view image in full size

Why PostgreSQL Couldn’t Keep Up

Uber initially ran on PostgreSQL with sharding at the application level. This worked for a while, but scale broke everything:

  • Write throughput bottlenecks: PostgreSQL wasn’t optimized for extremely high write rates.
  • Schema evolution pain: Changing table structures across dozens of shards was slow and risky.
  • Operational cost: Managing thousands of shards manually became a nightmare.
+------------------+     INSERT INTO rides ...
| PostgreSQL | <---------------------- app
+------------------+
| shard_001 |
| shard_002 | // 400+ shards
| ... |
+------------------+

Enter Schemaless

--

--

CaffeinatedCoder
CaffeinatedCoder

Written by CaffeinatedCoder

I write code, drink coffee, and sometimes regret both. Exploring the chaos of modern software, one post at a time.