apache/druid

Data

A real-time analytics database for fast ingestion and low-latency queries over streaming and batch data.

14,092
3,810
Java
Apache-2.0
14 years old

Apache Druid is a real-time analytics database aimed at workflows where fast ingestion and fast queries both matter: powering interactive UIs, running ad-hoc operational queries, or serving high-concurrency workloads. The project positions itself as an open-source alternative to data warehouses for those use cases, with primary value framed as shortening time to insight and action (Apache Druid repository, README).

What it does and how it works

Druid ingests both streaming and batch data, organizes it into segments, and serves SQL (DruidSQL) and native queries over HTTP or JDBC. The design docs explain the cluster architecture if you need to understand the moving parts before choosing it (design documentation, segments, querying).

A concrete workflow: use the built-in web console's point-and-click wizard to set up ingestion from a stream or batch source, monitor ingestion tasks and supervisors, then prototype queries in the query workbench before connecting external tools (web console, ingestion, query workbench). The management views are themselves backed by SQL system tables, so each view exposes the query behind it — useful for learning the query layer on real cluster state (metadata tables).

Ways to run it

Three paths are documented: a local quickstart, a Docker quickstart, and a separate Kubernetes operator for cluster deployments (local quickstart, Docker quickstart, druid-operator). The choice matters: the local and Docker paths are for trying it out, while the operator lives in its own repository and is the documented route to Kubernetes deployments.

Building from source is a separate, heavier path and requires JDK 25; follow the build guide rather than improvising (build guide). Building or editing the documentation site similarly needs Node 22 or higher plus Docusaurus 3 (website README). Neither affects someone just running the quickstart.

Constraints to weigh

The README states the performance-oriented intent but gives no benchmark numbers, so treat "high performance" as the project's framing rather than a measured comparison. It also does not document deployment sizing, upgrade or rollback procedures, or data-recovery limits; those questions need the operations documentation before production use (docs). Druid is not a small embedded library — the local and Docker quickstarts are the low-commitment ways to evaluate fit.

Community and licence

Help is split between a user mailing list and Slack troubleshooting, with development discussion on the dev list (community page, druid-user, dev list). The project is Apache-2.0 licensed, which permits commercial use and modification under that licence's terms (Apache License 2.0).

Written by AI from the project's README, updated October 30, 2026. The project's own docs are the source of truth.

Hacker News

Apache Druid 0.23.0 is now available
▲ 3 · 0 comments · June 23, 2022