Apache Druid

active

by Apache Software Foundation · since 2012 · also known as Druid

Real-time analytics database for sub-second slice-and-dice over streaming event data.

columnar / olaptime-seriesrelationaldatabase engineopen source (permissive)mature

Overview

Apache Druid is a distributed column store built for interactive analytics on event data. It ingests straight from Kafka or Kinesis so events are queryable within seconds, stores data in time-partitioned, bitmap-indexed segments on deep storage, and answers high-concurrency group-by and filter queries in sub-second time. Its multi-stage query engine added SQL-based batch ingestion and querying of data in deep storage. Druid is a strong fit for user-facing dashboards and operational analytics; it has many process types to operate and is less suited to ad-hoc warehouse-style joins.

Strengths & trade-offs

Strengths

  • +Exactly-once streaming ingestion from Kafka and Kinesis with seconds of latency
  • +Sub-second queries at high concurrency for dashboards and APIs
  • +Bitmap indexes and time partitioning make filters and group-bys fast
  • +Rollup at ingest time cuts storage for high-cardinality events
  • +Tiered storage and query-from-deep-storage for cheap historical data

Trade-offs

  • −Many node types (coordinator, overlord, broker, historical, middle manager) to operate
  • −Joins are limited compared with a full SQL warehouse
  • −Updates require re-ingesting segments
  • −Smaller community momentum than ClickHouse in recent years

Great for

  • +User-facing analytics dashboards
  • +Clickstream and ad-tech analytics
  • +Network and application telemetry
  • +Real-time operational monitoring

Think twice for

  • −Ad-hoc complex joins across many tables
  • −Transactional workloads
  • −Small datasets where a single-node DB suffices

Capabilities

Native or official first-party support · 10 of 25 tracked

✓Joins
✓Secondary indexes
✓Geospatial
✓JSON
✓TTL / expiry
✓Columnar storage
✓Durable persistence
✓Compression
✓Role-based access
✓Streaming ingest
–Transactions
–Full-text search
–Vector search
–Change data capture
–Triggers
–Stored procedures
–Materialized views
–Pub/Sub
–In-memory
–Encryption at rest
–Time travel
–Branching
–Online schema changes
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Massive · Multi-PB
Horizontal scaling
Native
Multi-region
No
Transactions
Limited ACID
Consistency
Eventual
Schema
Flexible
Architecture
Distributed, Shared storage
Query languages
Druid SQL, Druid native JSON queries

Scales each service (brokers, historicals, ingestion) independently; segments live in S3/HDFS deep storage.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsHTTP/JSON API, Avatica JDBC
client languagesJava, Python, Go, JavaScript
used byNetflix, Confluent, Airbnb

Alternatives to Apache Druid

Compare all→
Apache PinotColumnar / OLAP29.9

Real-time OLAP store from LinkedIn for user-facing analytics at very high query rates.

apache-druid vs apache-pinot →
ClickHouseColumnar / OLAP69.8

Open-source columnar OLAP database known for very fast aggregations over billions of rows.

apache-druid vs clickhouse →
StarRocksColumnar / OLAP15.6

MPP OLAP database with a fast vectorized engine, real-time upserts and native lakehouse queries.

apache-druid vs starrocks →
Apache DorisColumnar / OLAP15.9

Real-time MPP analytical database with MySQL compatibility, search indexes and lakehouse access.

apache-druid vs apache-doris →
TinybirdColumnar / OLAP12.6

Managed ClickHouse platform that turns SQL pipes into low-latency, versioned HTTP APIs.

apache-druid vs tinybird →
RocksetDocument0.4

Former real-time search and analytics cloud on RocksDB, shut down after OpenAI acquired it in 2024.

apache-druid vs rockset →

Apache Druid FAQ

What is Apache Druid?

Apache Druid is a columnar / OLAP database by Apache Software Foundation, first released in 2012. Apache Druid is a distributed column store built for interactive analytics on event data. It ingests straight from Kafka or Kinesis so events are queryable within seconds, stores data in time-partitioned, bitmap-indexed segments on deep storage, and answers high-concurrency group-by and filter queries in sub-second time. Its multi-stage query engine added SQL-based batch ingestion and querying of data in deep storage. Druid is a strong fit for user-facing dashboards and operational analytics; it has many process types to operate and is less suited to ad-hoc warehouse-style joins.

Is Apache Druid open source?

Yes. Apache Druid is open source. License: Apache License 2.0.

Does Apache Druid support ACID transactions?

Partly. Apache Druid offers limited ACID guarantees (for example, single-record or single-partition transactions), with eventual consistency.

Does Apache Druid scale horizontally?

Apache Druid scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at massive scale (Multi-PB).

How can I run Apache Druid?

You can self-host it. Managed offerings include Imply Polaris.

What is Apache Druid best for?

Apache Druid is a strong fit for user-facing analytics dashboards; clickstream and ad-tech analytics; and network and application telemetry. Think twice for ad-hoc complex joins across many tables.

What are the best alternatives to Apache Druid?

Common alternatives to Apache Druid include Apache Pinot, ClickHouse, StarRocks, Apache Doris and Tinybird. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is Apache Druid?

Apache Druid ranks #58 of 844 databases on the WhichDB Score (35.0/100), and #7 among columnar / OLAP databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.