Uber developed H3 as a spatial indexing library to divide the Earth into hexagonal cells of various resolutions.
Replaces geohash or lat/lon-based grids.
Used to:
Index driver/rider positions
Do proximity lookups (e.g., find nearby drivers in adjacent hexes)
Heatmaps, demand prediction, surge pricing
Uber built a custom sharded database layer called Schemaless on top of MySQL.
Used for storing structured data at large scale, including location metadata.
Includes sharding logic, retry mechanisms, async updates.
Used for streaming location updates from devices (drivers and riders) to backend services.
Decouples write-heavy location updates from the read services.
For real-time analytics and processing of location data.
Supports pricing, surge detection, ETA predictions.
For fast, in-memory lookups like driver availability in a specific H3 zone.
Often used to avoid querying persistent storage for every request.
Uber has used both for storing time-series location data.
Suitable for high write throughput and scalable reads.
A gossip-based library created by Uber for service discovery and sharded coordination.
Location service instances are distributed and self-organizing.
Uber’s Kafka pipeline replication framework used for global data replication.
Helps Uber sync location data across regions and clusters.