Apache Pinot is a distributed real-time OLAP store built to serve analytical queries at very high concurrency with millisecond latency, ingesting directly from streams.
Self-hosted: controllers, brokers, and servers over a deep store, coordinated by ZooKeeper and Helix; scale servers for data volume and query rate. Real-time tables consume Kafka directly while batch segments load beside them. StarTree Cloud is the managed offering built by its creators.
How Apache Pinot answers the questions OLAP Engines turns on.
| How it works | |
| Specialization | User-facing analytics at very high query volume |
| SQL dialect | Pinot SQL (Calcite) |
| Joins | Distributed joins in the multi-stage engine, opt-in per query |
| Updates and deletes | Full and partial upserts on a partitioned primary key; soft deletes |
| Ingest to queryable | Sub-second: consuming segments answer queries as rows arrive |
| Storage format | Own segments in deep store |
| Compute and storage | Deep store of record; servers host segments on local disk |
| Indexes | Per-column: inverted, range, text, JSON, geospatial, bloom, vector |
| Pre-aggregation | Star-tree index; ingestion aggregation on real-time tables |
| Running it | |
| Concurrent users | Very high: production deployments serve 100K+ QPS |
vs Apache Pinot: Operational complexity: Medium · Java, C++
Same headline facts as Apache Pinot
vs Apache Pinot: Operational complexity: Medium · C++