Case Study: Uber serves real-time app-crash analytics while saving $2M+ with Apache Pinot on StarTree
Key results
The challenge
Uber's mobile app-crash analytics ran on Elasticsearch, which experienced ingestion lag during crash-rate spikes, query timeouts, and data loss as throughput climbed. With roughly 11,000 code and infrastructure changes shipped weekly and crash events reaching 15,000 to 20,000 per second, delayed detection slowed engineers' ability to catch and resolve regressions.
The solution
Uber migrated the workload to Apache Pinot on StarTree, using hybrid tables that combine a real-time table (10-minute granularity, 3-day retention) with an offline table (45-day retention), plus text indexing and HyperLogLog for distinct counts. The platform ingests roughly 300,000 analytic events per second.
The results, in context
The migration reduced infrastructure cost by 70%, a saving of over $2M per year, and cut CPU cores by 80% (from 22,000 cores). Data footprint fell 66% and page load times dropped 64%, from 14 seconds to under 5 seconds, with p99.5 query latency under 100 milliseconds and ingestion lag under 10 milliseconds.