Sub-Second Aggregation Store
A database built to ingest continuously and answer aggregate queries over recent data in milliseconds, occupying the gap between OLTP and the warehouse.
Neither of the usual stores fits real-time analytics. A transactional database answers point lookups quickly and aggregates over millions of rows slowly. A warehouse aggregates efficiently and ingests in batches with minutes of latency.
Druid, Pinot and ClickHouse target the gap: continuous ingest with data queryable within seconds, columnar storage with heavy pre-aggregation and indexing, and aggregate queries answered in tens of milliseconds at high concurrency.
They achieve it by giving things up, and the trade-offs are what decide fit. Joins are limited or expensive, so the data model is denormalised at write time. Updates and deletes are awkward, which makes corrections and erasure obligations genuinely difficult. Storage is inflated by the indexes and roll-ups that make queries fast.
The fit is user-facing analytics — a dashboard in a product, served to thousands of concurrent users over recent data. The misfit is using one as a general warehouse, where the join limitations and update difficulty become the dominant constraint, or as an operational store, where the lack of point-update semantics does.