
How I Would Design Uber
Short summary
A practical walkthrough of how to architect a ride-hailing platform like Uber, focusing on four core subsystems: a high-throughput location firehose with short-lived in-memory storage, geospatial indexing using hexagonal grids (H3) for proximity queries, a matcher that optimizes for pickup time rather than raw distance with batching and locking, and surge pricing as a per-cell feedback control loop. The author emphasizes splitting data by consistency requirements—durable trip and payment data in strongly consistent stores versus ephemeral location data in fast in-memory stores—and partitioning by city as natural shards. The article closes with a link to a fuller breakdown with diagrams and data models.
- •Location data is hot, high-volume, and short-lived—belongs in in-memory stores with TTL, not transactional databases
- •Geospatial indexing via H3 hexagonal cells enables efficient proximity queries; matching optimizes for pickup time with batching and locking
- •Surge pricing is a load-shedding feedback loop per cell; data should be split by consistency needs and sharded by city
Generated with AI, which can make mistakes.
Is this a good recommendation for you?



