cloudparts

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 side

Time-series databases

Real-time analytics databases

Alibaba Cloud HologresCommercialStreaming writes are visible within seconds, and a vectorised MPP engine answers analytical queries on the same copy of the data.Alibaba Cloud’s PostgreSQL-compatible real-time data warehouse, which takes streaming writes, answers analytical queries and serves key lookups from one copy of the data.Apache DorisOpen sourceMerge-on-write Unique Key tables take upserts within seconds, and Routine Load reads Kafka topics with exactly-once delivery.An open-source MPP analytical database, born at Baidu as Palo, that serves sub-second queries on fresh, updatable data through the MySQL protocol and also queries Iceberg, Hudi, Paimon and Hive tables in place.Apache DruidOpen sourceKafka and Kinesis events are queryable as soon as a task indexes them, with exactly-once ingestion based on offsets.An open-source real-time analytics database that makes Kafka and Kinesis events queryable within seconds and serves fast slice-and-dice queries to dashboards and APIs.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.CrateDBOpen sourceEvery column is indexed and kept as doc values, so ad-hoc filters and aggregations work on rows a second after they arrive.A distributed SQL database built on Lucene: every column is indexed and stored column by column, so one cluster answers aggregations, full-text, geo and vector queries over fresh machine data.FireboltCommercialAggregating indexes are updated in the same transaction as the table, and subresult caching reuses work across repeated app queries.A cloud data warehouse built for low-latency, high-concurrency queries behind apps and dashboards, also free to self-host as Firebolt Core.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

Why each technology is listed comes from the sources on its own page.