Druid is primarily used to store, query, and analyze large event streams. Examples of event streams include user generated data such as clickstreams, application generated data such as performance metrics, and machine generated data such as network flows and server metrics. Druid is optimized for sub-second queries to slice-and-dice, drill down, search, filter, and aggregate this data. Druid is commonly used to power interactive applications where performance, concurrency, and uptime are important.
Druid was initially created to power a scalable, visual, multi-tenant application where users could not only rapidly slice and dice data to create ad-hoc reports, but also interactively explore data to quickly determine the root cause of patterns and anomalies. Druid is designed from the ground up for sub-second queries, which are critical in interactive applications as usability studies have shown that humans get distracted and lose their train of thought if responses take longer than a second.
Druid stores and compresses each column individually, and only needs to read the ones needed for a particular query, which supports fast scans, rankings, and groupBys.
Druid creates inverted indexes for string values for fast search and filter.
Out-of-the-box connectors for Apache Kafka, HDFS, AWS S3, stream processors, and more.
Druid gracefully handles evolving schemas and nested data.
Druid intelligently partitions data based on time and time-based queries are significantly faster than traditional databases.
Druid has been used in production to ingest millions of events/sec, retain years of data, and provide sub-second queries.
Scale up or down by just adding or removing servers, and Druid automatically rebalances. Fault-tolerant architecture routes around server failures.
To learn more, read our Technology page.
Druid is proven in production at the world’s leading companies, with the largest installations having more than a thousand servers, ingesting over 10 million events per second, and supporting thousands of concurrent queries per second. Druid is used to:
Create interactive dashboards with full drill down capabilities. Analyze performance of digital products, track mobile app usage, or monitor site reliability.
Find the root cause of issues. Troubleshoot netflow bottlenecks, analyze security threats, or diagnose software crashes.
Find common attributes among events. Identify shared components in defective products, or determine patterns in top performing products.
Improve product engagement. Optimize ad-spend in digital marketing campaigns or increase user engagement in online products.
To learn more, read our Use Cases page.