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
Use Cases
Frequently Asked Questions
From the Blog
Introduction to Apache Spark for Beginners
Apache Spark is a fast, distributed engine for processing huge datasets across many machines. Learn what it is, how it works, and how to run your first job.
Read More AI & TechnologyWhat Is PySpark? Python's Gateway to Big Data
PySpark is the Python API for Apache Spark, letting developers process massive datasets across many machines using familiar Python syntax. This guide covers what PySpark does, its core components, and when to reach for it.
Read More