Sub-second queries on fresh events
Dashboards and product features that query events seconds after they happen and answer in well under a second, often for many users at once.
What it asks of a system
Real-time analytics combines two demands that pull against each other. New events, usually read from a stream such as Kafka, have to be queryable within seconds of arriving, not after a nightly batch load. And queries have to come back fast enough to sit behind a web page or an API, sometimes at thousands of queries per second when the dashboard is shown to customers rather than to a few analysts.
Systems built for it ingest from streams directly, keep data in columns sorted or partitioned by time, and use indexes, pre-aggregation (rollups or materialized views) and caching so a typical query reads little data. To tell whether one really handles it, measure the time from an event being produced to it showing up in a query, and query latency at the concurrency you expect, not one query at a time. Check also how it handles late or corrected events, since many of these systems append well but update poorly.
Good at it · 15
Compare side by sideTime-series databases
QuestDBOpen sourceA vectorized SQL engine with `SAMPLE BY`, `LATEST ON` and `ASOF JOIN` queries fresh rows in columnar partitions sorted by time.A columnar time-series database in Java, C++ and Rust that ingests millions of rows a second and answers time-series SQL, with old partitions kept as Parquet.Real-time analytics databases
Apache PinotOpen sourceRows from Kafka or Kinesis are queryable in a consuming segment at once, and per-column and star-tree indexes keep user-facing queries in milliseconds.A real-time distributed OLAP database from LinkedIn, built to answer analytics queries from end users in milliseconds at hundreds of thousands of queries per second, over data that arrived from Kafka seconds ago.
StarRocksOpen sourcePrimary Key tables apply upserts through a primary key index, so changes from a database or Kafka are queryable within seconds.An open-source MPP analytical database with a vectorized engine that serves fast joins and real-time updates on its own tables, and also queries Iceberg, Hudi, Delta Lake and Hive tables in place.
TinybirdCommercialManaged Kafka and Events API ingestion into ClickHouse, with SQL pipes published as parameterised, token-protected HTTP endpoints.A hosted ClickHouse platform that turns SQL queries into authenticated REST API endpoints, for analytics inside your product.Sources
- Apache Druid docs: Introduction (ingested data immediately queryable, sub-second queries)
- Apache Pinot docs: Introduction (user-facing analytics, freshness under one second)
- ClickHouse docs: Incremental materialized views
- Apache Druid docs: Data updates (no single-record updates by primary key)
Why each technology is listed comes from the sources on its own page.
