# Apache Pinot

> Real-time OLAP for user-facing analytics at high concurrency

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.

Website: https://pinot.apache.org

## Use it when

- Analytics face end users: dashboards embedded in SaaS, feeds, and panels needing millisecond answers at very high query volume.
- Freshness is seconds from Kafka, with consuming segments answering queries as rows arrive.
- The indexing toolbox is the draw: inverted, sorted, range, JSON, geospatial, star-tree, and vector indexes hold latency stable under concurrency.
- You need upserts on a primary key over streaming data.

## Think twice when

- Queries need rich ad-hoc joins; the multi-stage engine adds them opt-in, but StarRocks or ClickHouse handle exploratory SQL more naturally.
- The real workload is internal BI at modest concurrency; the operational complexity (controllers, brokers, servers, ZooKeeper) buys headroom you would not use.
- The team wants managed; StarTree is the dedicated option, otherwise the cluster is yours to run.

## How it runs

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.

## Details

### General

| Attribute | Value |
| --- | --- |
| License | Open source (permissive) |
| SPDX identifier | Apache-2.0 |
| Deployment | Self-hosted, Managed, Hybrid |
| Workload | Interactive, Streaming |
| Operational complexity | High |
| Pricing | Free, Subscription |
| Language | Java |
| Repository | https://github.com/apache/pinot |
| Documentation | https://docs.pinot.apache.org |
| Stars | 6.1k |

### OLAP Engines

| Attribute | Value |
| --- | --- |
| 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 |
| Concurrent users | Very high: production deployments serve 100K+ QPS |

## Capabilities

- [OLAP Engines](https://matca.io/capabilities/olap-engine)

---

Source: https://matca.io/apache-pinot
Last updated: 2026-08-31T11:40:48.928Z
