Apache Druid
By the Apache Software Foundation
Apache Druid is a real-time analytics database built for fast, interactive OLAP queries and sub-second aggregations over large streaming and batch event datasets.
Definition
Apache Druid is a real-time analytics database built for fast, interactive OLAP queries and sub-second aggregations over large streaming and batch event datasets.
Overview
Druid originated at the ad-tech company Metamarkets, which needed to power interactive dashboards over massive volumes of event data with query latencies far lower than traditional data warehouses could offer. It was open-sourced in 2012 and later became a project of the Apache Software Foundation. Druid's architecture separates ingestion, storage, and query-serving into different node types, and stores data in a column-oriented format with bitmap indexes and native time-based partitioning, which is what enables its characteristic sub-second response times even on high-cardinality aggregations. It supports both real-time streaming ingestion — commonly from Apache Kafka — and batch loading from data lakes, and can be queried through Druid SQL or its native JSON-based query language. Because of its speed on ad-hoc, high-concurrency analytical queries, Druid is frequently used as the backend for interactive dashboards built with tools like Apache Superset or Grafana, and is often positioned between fast key-value stores and slower batch-oriented systems like Apache Spark or a traditional cloud data warehouse.
Key Features
- Sub-second OLAP query performance at large scale
- Real-time streaming ingestion from Kafka and similar sources
- Column-oriented storage with bitmap indexing
- Native time-series partitioning and rollup for event data
- Druid SQL query interface alongside a native JSON query language
- Horizontally scalable architecture with separated ingestion, storage, and query nodes
- Strong support for high-cardinality dimensional aggregations